MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come inviare notifiche con angular.js?

Dato che sei nello stack MEAN, la raccomandazione standard in Node sarebbe quella di utilizzare l'API Socket.IO.

Forniscono il seguente esempio di messaggistica bidirezionale (che faciliterebbe i tuoi messaggi push molto facilmente):

Cliente

<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);
  });
});

Utilizzerà i websocket ove possibile e ricadrà su AJAX long polling o Flash polling nei browser in cui non è disponibile il supporto websocket.

Per quanto riguarda l'integrazione con Angular, ecco un buon post sul blog su Socket.IO e Angular:

Scriverò su come integrare Socket.IO per aggiungere funzionalità in tempo reale a un'applicazione AngularJS. In questo tutorial, ti spiegherò come scrivere un'app di messaggistica istantanea.