Область применения JQuery AJAX обратного вызова успеха? - PullRequest
1 голос
/ 07 сентября 2011

если у меня есть

function AjaxRequest(){
    var testvar = 0;
    for(i=0;i<d.length;i++){
        $.ajax({
            success: function(a){
                testvar++;
            }

        });
    }
}

Будет ли тествар увеличиваться при успехе?

Ответы [ 2 ]

4 голосов
/ 07 сентября 2011

Да; переменная фиксируется закрытием функции.
Замыкания поддерживают переменные живыми, так что вложенные функции могут использовать их позже.

Обратите внимание, что обратные вызовы success запускаются только через некоторое время после завершения остальной части вашего кода (AJAX является асинхронным).

1 голос
/ 07 сентября 2011

Да, будет. Это похоже на это:

function() {
   var self = this;
    this.a = function(){
        self.something;
    }
}
...