这对我来说是一个令人困惑的问题。当我运行 ajax 请求时,它总是返回错误,但检查响应时,responseText 中的数据实际上是我需要的数据。那么为什么会出现错误呢?
$.ajax({
type: "GET",
url: "/getjson.php?name=jay",
dataType: "json",
success: function(msg){
alert(msg);
},
error: function(msg) {
alert("Error: " + msg.responseText);
}
});
最佳答案
jQuery 使用返回的 HTTPStatus 代码来确定要调用哪个处理程序。
如果代码在 200 范围内 (200 - 299) 或 304,则将调用成功回调,否则将调用错误回调。
此外,如果 jQuery 无法解析响应,则会将其视为错误(例如,如果需要 json 时返回 html,则会调用错误回调)
关于jQuery Ajax 错误响应包含成功响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8202570/