Я создаю приложение Express JS на Node.js и реализовал страницу, которая будет вызывать обратные вызовы для обновлений в режиме реального времени согласно chat.nodejs.org (https://github.com/ry/node_chat). Я следовал подходу в 'node_chat' к at, и страница обновляется корректно, если обновление сделано из другого браузера. Единственная проблема заключается в том, что я не могу остановить браузер (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()
Спасибо.