用于回调的javascript参数

时间:2012-09-11 15:19:40

标签: javascript callback

我有一个函数,它是由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);
}

非常感谢

1 个答案:

答案 0 :(得分:2)

我假设您指的是setTimeout来电?切勿将字符串传递给setTimeout

pollTimeout = setTimeout(function() {poll(url,data,pollDelay,type);},pollDelay);

请注意,您的整个"完成"事情应该是这样一个功能:

$.ajax({...
    complete: function() {
        pollTimeout = setTimeout(...);
    }
...});