仅指定javascript函数中的第二个参数

时间:2010-05-12 20:23:31

标签: javascript

The spec for the jQuery ajax.error function是:

error(XMLHttpRequest, textStatus, errorThrown)Function

我正在尝试捕获错误并显示textStatus,但我无法弄清楚如何只指定textStatus而不必为{{1}添加变量名称}和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第二个参数,但这是我想要指定的唯一参数。这可能吗?

3 个答案:

答案 0 :(得分:4)

在Erlang编程一段时间后,我开始使用“_”作为我不关心的变量的名称。这只是一个像其他任何事情的惯例,但它为我澄清了这样的情况。对于多个参数使用“_”,Javascript似乎没问题。我认为。

答案 1 :(得分:3)

如果您真的想要,可以使用arguments数组:

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

然而,这是一个可怕的想法;你应该简单地添加一个未使用的参数。

答案 2 :(得分:1)

没有。最接近的是:

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

只能省略最后的参数