tom52
tom52

Reputation: 305

javascript parameters for callback

I have function which is call recursively by ajax complete callback, and I need to set parameters fot this function. But how do I transfer parameters in callback?

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

Thanks a lot

Upvotes: 0

Views: 63

Answers (1)

Niet the Dark Absol
Niet the Dark Absol

Reputation: 324620

I'm assuming you're referring to your setTimeout call? Never pass a string to setTimeout.

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

Note that your whole "complete" thing should be in such a function:

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

Upvotes: 2

Related Questions