我想创建一个轮询ajax函数,如果满足某个条件,它将再次调用相同的函数。我该怎么做?我正在使用JQuery。
答案 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。