【发布时间】:2013-07-12 17:59:56
【问题描述】:
当一个 ajax 请求完成时,我需要做一些事情,不管它是失败还是成功。我为此使用 jQuery 延迟对象“总是”方法。
我的问题是在“always”方法中我如何确定它是因为服务请求失败还是成功而被调用
【问题讨论】:
-
当然,这就引出了一个问题,为什么不将处理成功的代码放在
done(),将失败的部分放在error(),共享在always()(甚至调用失败和成功的方法相同。)
当一个 ajax 请求完成时,我需要做一些事情,不管它是失败还是成功。我为此使用 jQuery 延迟对象“总是”方法。
我的问题是在“always”方法中我如何确定它是因为服务请求失败还是成功而被调用
【问题讨论】:
done(),将失败的部分放在error(),共享在always()(甚至调用失败和成功的方法相同。)
完成
Type: Function( jqXHR jqXHR, String textStatus )
请求完成时调用的函数(在 success 和 error 回调被执行之后)。该函数得到两个参数:jqXHR(在 jQuery 1.4.x 中,XMLHTTPRequest)对象和一个对请求状态进行分类的字符串("success", "notmodified" 、“错误”、“超时”、“中止”或“解析错误”)。 从 jQuery 1.5 开始,complete 设置可以接受一个函数数组。每个函数都会被依次调用。
【讨论】: