am尝试多次调用ajax函数以从我的聊天表中获取数据,并且仅在该表中有新消息时才将数据追加到div中。 我的代码
(function CallThat() {
$.ajax({
url:'intervalog.php',
method:'POST',
data:{datime:mylmsgt},
success:function(data){
if(data!=5){
$('#intrmylmsgt').load('intrmylmsgt.php');
$('#chatlogs').append(data);
}
}
});
setTimeout(CallThat, 1000);
}());
这只能在10-15秒内完美运行,然后开始在控制台(jquery.min.js)中连续显示这些错误
POST http://******/intervalog.php 0 ()
该页面卡住后,我必须关闭该页面。 我认为问题是继续ajax请求而不完成先前的请求,有什么解决办法吗?
答案 0 :(得分:1)
您应该使用async:false使ajax同步工作
(function CallThat() {
$.ajax({
url:'intervalog.php',
method:'POST',
data:{datime:mylmsgt},
success:function(data){
if(data!=5){
$('#intrmylmsgt').load('intrmylmsgt.php');
$('#chatlogs').append(data);
CallThat()
}
}
});
}());
并检查CallThat()函数是否为空,空响应。如果响应为空或为null,则下次不要调用CallThat()。