我正在node.js上创建一个expressjs应用程序,并实现了一个页面,该页面将根据chat.nodejs.org(https://github.com/ry/node-chat)回调实时更新。我已经按照“node_chat”中的方法进行了t,如果从其他浏览器进行了更新,则页面会正确更新。唯一的问题是我似乎无法阻止浏览器(chrome)停止“等待本地主机”和旋转,我认为它不需要这样做。
这里是我的代码的简化版本(为了简洁)。有什么想法吗?
client.js(客户端):

function poll(data) {
// ...
if(data){
    // do something with the data

}
    $.ajax({
        cache:false,
        type:'GET',
        url:'/json-people',
        dataType: 'json',
        data: {
            slug: queue.slug,
            since: CONFIG.last_timestamp
            },
        error: function () {
            // handle error
        },
        success: function (data) {
            poll(data);
        }
    });
};

应用程序js:
app.get('/json-people', function (req, res) {
  queueProvider.query(req.param('slug'), req.param('since'), function (people){
    res.send({people: people}, 200);
  });

});

我在queueprovider.query方法中放了什么似乎无关紧要,它将一直旋转直到res.send(…)被执行。
我用了https://github.com/ry/node_chat/blob/master/client.js
https://github.com/ry/node_chat/blob/master/server.js作为参考。
特别是:
fu.get("/recv", function (req, res) {...}


频道查询()

channel.appendMessage()

谢谢。

最佳答案

为了避免这个旋转图标,我建议您从轮询切换到websockets(例如http://socket.io

08-18 16:03