使用 Ajax 调用在服务器上实时更新页面

Real-time page updating on server using an Ajax call

我有一个 javascript 客户端应用程序和 express.js 服务器。

我想用我通过客户端应用程序的 ajax 调用发送的一些信息来更新服务器中的页面,并且我需要实时更新页面。

在我的 javascript 中:

var url = 'http://'+base_url+'/make-order';

    $.ajax({

        type: 'POST',
        url: url,
        data : {data : JSON.stringify(info)}

    }).done(function(res){
       //finished
    });

在我的快速路由器中:

mobile_router.post('/make-order', function(req, res){
    // here i need to update some page in the server without rendering it
    // back to the client, res.end('updated') is enough 
});

要使用 node.js 开发实时应用程序,您可以使用 socket.io。 来自 socket.io 网站的示例代码:http://socket.io/docs/

服务器(app.js)

var app = require('express').createServer();
var io = require('socket.io')(app);

app.listen(80);

app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
});

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

客户(index.html)

<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>