【发布时间】:2014-03-06 01:35:57
【问题描述】:
我正在尝试获取消息表并将响应附加到先前获取的结果中...
这是我尝试过的两种方法,都失败了
第一个:递归获取
function fetch(){
$.ajax({
url: url,
type: "post",
data:data,
timeout: 3000,
success: function(data){
$(selector).append(data);
setTimeout(function(){fetch()},3000);
}
})
}
第二个:setInterval()
setInterval(function(){fetch()},3000);
function fetch(){
$.ajax({
url: url,
type: "post",
data:data,
timeout: 3000,
success: function(data){
$(selector).append(data);
}
})
}
几次成功的 ajax 调用后,浏览器死机,控制台显示 "net::ERR_EMPTY_RESPONSE " OR "ERR_CONNECTION_TIMED_OUT"
请指教
谢谢
【问题讨论】:
-
如果你的另一个 fetch 在你的第一个成功时被调用,你为什么使用 setInterval?另外,你可以只写 setInterval(fetch,3000),你不必将它包装在一个函数调用中。
-
它们,recursive 和 setInterval,在几次成功调用后都无法工作,所以我想问如何改进这些代码,谢谢你的时间..
标签: ajax recursion settimeout setinterval