开发者

Specify only the second parameter in a javascript function

The spec for the jQuery ajax.error function is:

error(XMLHttpRequest, textStatus, errorThrown)Function

I'm trying to catch the error and display the textStatus, but I can't figure out how to specify only the textStatus without having to put in a variable name for XMLHttpRequest and errorThrown. My code currently looks like this:

$.ajax({
 开发者_如何学JAVA   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);
    }
});

You can see in my code that I'm putting variables a and b as placeholders for the first and last variables in the error function. I know that in my success function, I'm only providing one parameter and it works fine, but in that case data is the first parameter. In the case of error, textStatus is the second parameter, but that's the only one I want to specify. Is this possible?


After programming in Erlang for a while, I started using "_" as the name of a variable that I don't care about. It's just a convention like anything else but it clarifies situations like that for me. Javascript seems to be OK with using "_" for more than one parameter, I think.


If you really want to, you can use the arguments array:

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

However, it's a horrible idea; you should simply add an unsused parameter.


No. The closest that you can get is:

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

Only the last parameters can be omitted

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜