0

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);
}

どうもありがとう

4

1 に答える 1

2

私はあなたがあなたのsetTimeout電話に言及していると思いますか?に文字列を渡さないでくださいsetTimeout

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

「完全な」もの全体がそのような関数に含まれている必要があることに注意してください。

$.ajax({...
    complete: function() {
        pollTimeout = setTimeout(...);
    }
...});
于 2012-09-11T15:21:48.803 に答える