我有一个功能:
function primaj(){
$('#tmp').load('msg1.php');
$("#tmp").ajaxStop(function(){
//do some code
primaj();
});
}
我期望加载请求运行,并且当它完成时再次调用该函数。但我发现每次调用该函数后,下一次调用的次数都会加倍,从 1 到 2 到 4 到 8 等等......
我的目的是对服务器进行持续加载调用,但如果我使用 setInterval 命令(有效),有时服务器需要更长的时间来响应,因此该函数是通过它自己调用的。
有没有办法知道ajax加载命令何时停止,然后再次调用它?
最佳答案
这很简单:
function primaj() {
$('#tmp').load('msg1.php', primaj);
}
您所做的是附加一个新的回调,以便在每次将来 ajax 完成后运行。
虽然我的代码所做的是设置回调以在当前 ajax 完成后运行。
关于jquery - jQuery AJAX 中带有 ajaxStop 的递归调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10367126/