刷新Node.js页面

时间:2016-07-03 12:31:10

标签: javascript node.js

有没有办法在socket.io事件后刷新Node.js页面?

var messageDynamic = "Initial status";

app.get("/", function(request, response) {
    response.setHeader('Content-Type', 'text/plain');
    response.end('The status is : ' + messageDynamic);
});

io.on('connection', function(socket) {

    socket.on('UPDATE', function(message) {
        messageDynamic = message;

        // here I want to refresh the Node.js page (in order to update the message)

    });

曾经有可能消息动态'更新后,node.js页面更新为?

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

正如您所拥有的那样,当您在浏览器中访问/时,您获得的纯文本页面会请求服务器一次,然后将不再侦听来自服务器的任何事件。为了动态更新它,您需要发回一个带有socket.io客户端代码的完整html页面来收听它:

在服务器上你会这样做:

   socket.on('UPDATE', function(message) {
        messageDynamic = message;

        // Send event to every socket.io client
        io.emit('message', message);
    });

在客户端上,您将拥有相应的

var socket = io();
socket.on('message', function(message){
    // Do stuff to the page
})

有关您要执行的操作的更完整示例,请参阅http://socket.io/get-started/chat/