我有一个函数,它是由ajax完全回调递归调用的,我需要为这个函数设置参数。但是如何在回调中传递参数?
function poll(url, data, pollDelay, type){
$.ajax({ url: url, type: 'POST', data: data, success: function(data){
if(data != '' && type == 1) { //do answers
doOutput(data);
}
}, dataType: 'html', complete: pollTimeout = setTimeout('poll()', pollDelay), timeout: 30000 });
}
function doPoll() {
clearTimeout(pollTimeout);
poll('url/f.php', obj = { id: someId, data: somedata }, 10000, 1);
}
非常感谢
答案 0 :(得分:2)
我假设您指的是setTimeout
来电?切勿将字符串传递给setTimeout
。
pollTimeout = setTimeout(function() {poll(url,data,pollDelay,type);},pollDelay);
请注意,您的整个"完成"事情应该是这样一个功能:
$.ajax({...
complete: function() {
pollTimeout = setTimeout(...);
}
...});