Должен ли я использовать анонимную функцию с опцией завершения jjery ajax? - PullRequest
2 голосов
/ 17 июня 2011

Почему я не могу передать именованную функцию опции jquery ajax complete.Вот мой код:

    $.ajax({
        type: 'post',
        url: baseURL + '/' + controller + '/' + action,
        data: params,
        success: function(data){
          //do something
        },
        complete: function(jqXHR, textStatus){
            checkResponseCode(jqXHR, textStatus);
        }

    });            

Я просто хотел написать: "complete: checkResponseCode (jqXHR, textStatus);"

Ответы [ 4 ]

4 голосов
/ 17 июня 2011

Вы можете сократить код, НО, строка complete: checkResponseCode(jqXHR, textStatus); фактически вызывает метод checkResponseCode, что явно не то, что вам нужно.

Вы можете упростить его до:

$.ajax({
    type: 'post',
    url: baseURL + '/' + controller + '/' + action,
    data: params,
    success: function(data){
      //do something
    },
    complete: checkResponseCode
}); 
4 голосов
/ 17 июня 2011

Попробуйте complete: checkResponseCode

3 голосов
/ 17 июня 2011

Я немного ржавый, но разве это не сработает?

$.ajax({
    type: 'post',
    url: baseURL + '/' + controller + '/' + action,
    data: params,
    success: function(data){
      //do something
    },
    complete: checkResponseCode
    }

});            
2 голосов
/ 17 июня 2011

Вы можете передать имя функции, но этот код вы вызываете функцию:

complete: checkResponseCode(jqXHR, textStatus);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...