你如何在同一个函数中调用ajax函数?

时间:2011-07-08 23:05:11

标签: ajax jquery polling

我想创建一个轮询ajax函数,如果满足某个条件,它将再次调用相同的函数。我该怎么做?我正在使用JQuery。

3 个答案:

答案 0 :(得分:2)

为什么不使用像这样的jQuery的ajax回调函数?

function myFunc(condition) {

    $.ajax({
        type:'GET',
        url:ajaxUrl,
        data:dataObject,
        success:function(response) {
            if (!condition) {
                myFunc(newCondition);
            }
        }
    }); 
}
myFunc();

这将一遍又一遍地调用相同的函数,直到条件为真。

jQuery的ajax参考页面:http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:1)

你可以这样做:

(function poll() {   
    $.ajax({
        ...
        success:function(response) {
            if (!condition_is_met) {
                poll();
            }
        }
    });
})(); //This calls the poll function inmediatly

如果你想在一定时间之后完成执行,你可以这样做:

setInterval(function poll() {   
  if(condition_is_met){
    $.ajax({
        ...
        success:function(response) {
            //your code here
        }
    });
  }
}, 5000); //Execute every 5 seconds

希望这会有所帮助。干杯

答案 2 :(得分:0)

您可以编写一个javascript函数来进行ajax调用并为其设置间隔。使用window.setInterval