如何阻止浏览器“等待”Node.jscallback
我正在Node.js上创build一个Express JS应用程序,并且已经实现了一个可以根据chat.nodejs.org(https://github.com/ry/node_chat)实时更新callback的页面。 我已经按照'node_chat'中的方法到达,并且如果从另一个浏览器进行更新,页面正确更新。 唯一的问题是我似乎无法阻止浏览器(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); } }); };
app.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作为参考。
Particularily:
fu.get("/recv", function (req, res) {...}
和
channel.query()
和
channel.appendMessage()
谢谢。
我build议,为了避免这个旋转的图标,你从轮询切换到像WebSockets(如http://socket.io )