2010-05-12 4 views
2

The spec for the jQuery ajax.error function является:Укажите только второй параметр в яваскрипте функции

error(XMLHttpRequest, textStatus, errorThrown)Function 

Я пытаюсь поймать ошибку и отобразить textStatus, но я не могу понять, как указать только textStatus без ввести имя переменной для XMLHttpRequest и errorThrown. Мой код в настоящее время выглядит следующим образом:

$.ajax({ 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    url: hbAddressValidation.webServiceUrl, 
    data: this.jsonRequest, 
    dataType: "json", 
    timeout: 5, 
    success: function (msgd) { 
     //... 
    }, 
    error: function (a,textStatus,b) { 
     $("#txtAjaxError").val("There was an error in the AJAX call: " 
           + textStatus); 
    } 
}); 

Вы можете увидеть в моем коде, я ставлю переменные a и b в качестве заполнителей для первых и последних переменных в функции error. Я знаю, что в моей функции успеха я предоставляю только один параметр, и он работает нормально, но в этом случае data является первым параметром. В случае error, textStatus - это второй параметр, но это единственный, который я хочу указать. Это возможно?

ответ

1

No. Ближайшим, что вы можете получить:

error: function (a,textStatus) { 
    $("#txtAjaxError").val("There was an error in the AJAX call: " 
          + textStatus); 
} 

Только последние параметры могут быть опущены

2

Если вы действительно хотите, вы можете использовать arguments массив:

error: function() { 
    var textStatus = arguments[1]; //Zero-based 
    $("#txtAjaxError").val("There was an error in the AJAX call: " 
          + textStatus); 
} 

Однако это ужасная идея; вы должны просто добавить неиспользуемый параметр.

+1

Я согласен с частью «ужасной идеи» :-) – Pointy

4

После программирования в Erlang какое-то время я начал использовать «_» как имя переменной, которую мне не волнует. Это просто конвенция, как и все остальное, но она разъясняет такие ситуации для меня. Я думаю, что Javascript работает с «_» для более чем одного параметра.

Смежные вопросы