sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur push-notiser med angular.js?

Eftersom du är på MEAN-stacken skulle standardrekommendationen i Node vara att använda Socket.IO API.

De ger följande exempel på tvåvägsmeddelanden (vilket skulle underlätta dina push-meddelanden mycket enkelt):

Kund

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

Server

var app = require('http').createServer(handler)
  , io = require('socket.io').listen(app)
  , fs = require('fs')

app.listen(80);

function handler (req, res) {
  fs.readFile(__dirname + '/index.html',
  function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }

    res.writeHead(200);
    res.end(data);
  });
}

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

Den kommer att använda websockets där det är möjligt och fallback till AJAX long polling eller Flash polling i webbläsare där det inte finns något websocket-stöd.

När det gäller integration med Angular, här är ett bra blogginlägg om Socket.IO och Angular:

Jag kommer att skriva om hur man integrerar Socket.IO för att lägga till realtidsfunktioner i en AngularJS-applikation. I den här handledningen ska jag gå igenom hur jag skriver en app för snabbmeddelanden.



  1. Bästa sättet att ansluta till MongoDB med Node.js

  2. hur man skickar en variabel till ett regex

  3. Hur uppnår man återställning av transaktioner i mongo?

  4. Räkna matriselement som matchar villkoret