在jQuery中发送到.fail的参数是什么?

Phi*_*enn 104 ajax jquery

我找不到有关$.ajax失败时三个参数名称的文档.

现在,我只是使用:

.fail(function(A, B, C) {
Run Code Online (Sandbox Code Playgroud)

nat*_*iah 91

根据http://api.jquery.com/jQuery.ajax/,fail回调应该是:

jqXHR, textStatus, errorThrown

相同errorerror不推荐使用:

弃用注意:jQuery 1.8中不推荐使用jqXHR.success(),jqXHR.error()和jqXHR.complete()回调.要准备最终删除的代码,请使用jqXHR.done(),jqXHR.fail()和jqXHR.always().

  • 它在哪里声明失败回调获得这3个参数?它还说明完整的设置参数.这些是不同的,例如`complete`的参数与传递给`done`的参数不同. (6认同)
  • @Tom,我知道我回复你的时间已经很晚但是这里有说明:http://api.jquery.com/jQuery.ajax/#jqXHR(`jqXHR.fail(function(jqXHR,textStatus,errorThrown) {});`) (5认同)
  • 哦,但是ajaxError方法有事件,jqXHR,ajaxSettings,thrownError. (2认同)

Oli*_*yre 24

这是一个寻找同样问题后的例子:

this.GetOrderList = function (customerId) {
    var self = this;
    $.post('MySuperServer.aspx', { customerId: customerId })
    .done(function (dataStr) {
        var orderList = jQuery.parseJSON(dataStr);
        self.process(orderList);
    })
    .fail(function (jqXHR, textStatus, error) {
        console.log("Post error: " + error);
    });
}
Run Code Online (Sandbox Code Playgroud)

在调试时,我得到了:

  • jqXHR是一个JS对象
  • textStatus是"错误"
  • 错误是"内部服务器错误",它是服务器发送的错误消息.