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
处理程序。谢谢大家