用于回调的javascript参数

javascript parameters for callback

本文关键字:参数 javascript 回调 用于      更新时间:2023-09-26

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

非常感谢

我假设您指的是您的setTimeout调用?永远不要将字符串传递给setTimeout

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

注意,你的整个"完整"的东西应该在这样一个函数中:

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