用$ ajax对象重新运行ajax调用?

时间:2014-09-19 15:34:59

标签: javascript jquery ajax

我对此有点困惑,我希望有人可以帮我解释一下。使用jquery $ ajax我运行这样的东西(这里的值不相关):

$ajax = $.ajax({
    type: type,
    url: url,
    data: data,
    dataType: dataType, 
    success: callBack,
    cache: cache,
    error:function (xhr, ajaxOptions, thrownError) {
        dir(thrownError);
        dir(xhr);
        dir(ajaxOptions);
    }
  });

我怎么能每隔几秒运行一次?我应该将它包装在setInterval()中,还是可以使用$ ajax.done并以递归方式再次传入ajax调用?我不一定要问最好的方法只是我如何做到这一点的一个例子。

2 个答案:

答案 0 :(得分:2)

您可以使用setInterval:

setInterval(function(){
      $ajax = $.ajax({
    type: type,
    url: url,
    data: data,
    dataType: dataType, 
    success: callBack,
    cache: cache,
    error:function (xhr, ajaxOptions, thrownError) {
        dir(thrownError);
        dir(xhr);
        dir(ajaxOptions);
    }
  });
},1000);

请查看网络套接字,如果您希望定期调用它,则优于ajax

答案 1 :(得分:0)

的setInterval

var call = function(){
   $.ajax({
    type: type,
   url: url,
   data: data,
   dataType: dataType, 
   success: callBack,
   cache: cache,
   error:function (xhr, ajaxOptions, thrownError) {
        dir(thrownError);
       dir(xhr);
       dir(ajaxOptions);
    }
}

   setInterval(call, 5000);