我正在做一个长轮询方法的聊天室.但似乎,当一个长轮询发生并且我刷新页面的铬或我尝试发送另一个异步请求一切都超时(即我不能再加载我的域,直到我关闭/重新打开浏览器).
我的客户端代码是:
$(document).ready(function() {
setTimeout(
function () {
longPollForMessages();
},
500
);
});
function longPollForMessages()
{
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
$('#chat_messages').append('
'+data.messages+'
');
longPollForMessages();
}
});
}
我的服务器端:
while(true) {
$messages = $db->getMessages();
if (!$messages || sizeof($messages)==0) {
sleep(1);
} else {
echo '{"message":'.json_encode($messages).'}';
die();
}
}
有任何想法吗?假设没有语法错误.