带有ajaxStop的jQuery AJAX中的递归调用函数

时间:2012-04-28 20:09:12

标签: jquery ajax

我有一个功能:

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

我期望运行加载请求,以及何时完成要再次调用的函数。但是我看到每次调用该函数后,下一个调用次数增加一倍,从1到2到4到8等等......

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

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

1 个答案:

答案 0 :(得分:1)

这很简单:

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

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