Node.jsでExpress JSアプリケーションを作成しており、chat.nodejs.org(https: /github.com/ry/node_chat)。私は 'node_chat'のアプローチをtに従いました。別のブラウザから更新が行われた場合、ページは正しく更新されます。唯一の問題は、ブラウザー(Chrome)を「ローカルホストを待って」から離れて回転することができないように見えないことです。私はそれを行う必要はないと思います。Node.jsコールバックでブラウザが「待機」しないようにするには
簡略化のため、ここでは簡略化したコードを示します。何か案は?
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()
おかげ。
のようなものにポーリングから切り替え、このスピニングアイコンを避けるために、そのをお勧めします。それは読み込んでいるので回転します。ウェブソケットを使用してください。 – Raynos