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

时间:2015-04-01 06:55:32

标签: javascript ajax node.js express ejs

我有一个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 
});

1 个答案:

答案 0 :(得分:1)

要使用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>