Javascript 调用状态为200的错误处理程序
我有以下代码。当我确实请求时,会调用错误回调函数,但请求操作系统的状态为“正常”Javascript 调用状态为200的错误处理程序,javascript,jquery,Javascript,Jquery,我有以下代码。当我确实请求时,会调用错误回调函数,但请求操作系统的状态为“正常” return $.ajax({ url : url, contentType : 'application/json', dataType : "json", type : 'GET', async : async, success : function(data) {
return $.ajax({
url : url,
contentType : 'application/json',
dataType : "json",
type : 'GET',
async : async,
success : function(data) {
onSuccess(data);
},
error : function(error) {
if(error.status === 401){
if(window.location.pathname.indexOf("login.html") < 0){
window.location = "/login.html";
}
}
if (onFailure) {
onFailure(error);
}
}
});
在控制台中,我得到:
二百
未定义
为什么状态代码
200
和undefined
错误我会调用错误回调?我最初的猜测是因为服务器正在处理请求并成功响应,但返回的数据不是JSON
,正如您在dataType
参数中指出的那样。请检查控制台的“网络”选项卡,以确保实际发送请求以及响应内容。当响应无法反序列化为您选择的格式时,可能会发生此行为-在您的情况下,JSON@War10ckRe:async
,我最初也这么认为,但OP使用的是一个async
变量——可能是一个布尔变量,希望设置为true
@RoryMcCrossan啊,很好。我完全错过了。编辑了我的上述评论…是的,这是由于格式错误。从后端发送JSON时,执行success
处理程序。谢谢大家