我试着像facebook聊天一样聊天:)
我使用这个请求,比如
点击此处获取聊天室用户和roomBody
$('.room_users,.room_body').each(function () {
var page = $(this).attr("page");
var room_id = $(this).parents('.room').children('.roomy_id').attr("value") ;
var url = page+room_id ;
window.setInterval(function () { $(this).load(url);}, 200);
});
Here To Get Room Lists
$('#room_list').each(function () {
var page = $(this).attr("page");
var url = page ;
window.setInterval(function () {
$(this).load(url);
}, 60000);
});正如您所看到的,我的请求每1秒发送一次,但并非所有请求都返回202状态
它多次返回404 notfound
有些时间请求每1秒发送两次

发布于 2012-02-17 03:06:18
如果您的服务器支持websockets或任何形式的Comet,如长轮询,请尝试使用其中一种。同时,为您的请求添加一个超时,并仅在前一个请求返回或超时后发送下一个ajax请求……
function updaterooms() {
$.ajax({
type: "GET",
url: page,
async: true,
cache: false,
timeout:5000,
success: function(data){
// do what you need with the returned data...
setTimeout('updaterooms()',1000);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
$("#error").text("ERROR: " + textStatus + " (" + errorThrown + ")");
setTimeout('updaterooms()',1000);
}
});
}发布于 2012-02-17 02:24:51
您应该看看Comet,而不是每秒都向服务器发送垃圾邮件请求。
它是一种使用一个长时间运行的请求以短时间间隔将数据流式传输到浏览器的模式。
https://stackoverflow.com/questions/9316690
复制相似问题