令人惊讶的是,documentation for .ajax
似乎没有定义条款'成功'并且'失败'任何地方。
有明显的规则,例如:
4xx
或5xx
状态代码都会触发.fail()
2xx
状态代码都会触发.done()
(成功)然而,除了响应代码之外,似乎还有一些额外的逻辑.ajax
用来决定响应是否失败"。
例如,如果无法根据所选的dataType
解析响应,则会将其视为失败。特别是在这种情况下,例如,如果设置了dataType: json
:
以严格的方式解析JSON数据;任何格式错误的JSON都会被拒绝,并抛出一个解析错误。从jQuery 1.9开始,空响应也被拒绝;服务器应该返回null或{}的响应。
jQuery用于确定请求是否成功的完整规则列表是什么?
答案 0 :(得分:0)
.ajax是在XMLHttpRequest对象之上实现的,这是" javascript方式"做ajax。 XMLHttpRequest也是基于HTTP协议的,因此您可能需要检查this列表,该列表可以恢复为:
"逻辑"您正在寻找的是检查每个响应代码类型。