2

我有一个功能:

function primaj(){
$('#tmp').load('msg1.php');
$("#tmp").ajaxStop(function(){
        //do some code
   primaj();
  });
}

我期望的是加载请求运行,并且当它完成再次调用该函数时。但是我看到每次调用该函数后,下一个调用次数都会翻倍,从 1 到 2 到 4 到 8 等等......

我的意图是对服务器进行持续加载调用,但如果我使用 setInterval 命令(有效),有时服务器需要更长的时间来响应,因此该函数是通过它自己调用的。

有没有办法知道ajax加载命令何时停止,然后再次调用它?

4

1 回答 1

1

这很简单:

function primaj() {
    $('#tmp').load('msg1.php', primaj);
}​

您所做的是附加一个新的回调以在以后每次ajax 完成后运行。
虽然我的代码所做的是将回调设置为在当前ajax 完成后运行。

于 2012-04-28T20:22:15.493 回答