AJAX错误响应中的responseJSON返回undefined

时间:2018-06-05 23:22:34

标签: jquery ajax

我遇到了一个问题,我正在尝试检索错误响应的JSON对象。当我退出并尝试访问我正在测试的网页时,chrome dev工具中的响应会返回我为an error status设置的正确参数。

但是,当我发出请求JSON的Ajax调用时,我得到undefined

我不想从Ajax调用中检索statusText,因为它返回“error”。

以下是我正在使用的获取请求:

function get(controller, success, error) {
    $.ajax({
        method: 'GET',
        url: baseAPI + controller,
        xhrFields: {
            withCredentials: true
        },
        dataType: 'json',
        success: success,
        error: 
            function(err){ 
                var statusCode = err.status;
                if(statusCode >= 400 && statusCode < 500 || statusCode === 0){
                console.log(err.responseJSON)
                }
            },
        beforeSend:
            function (xhr) {
                xhr.setRequestHeader("Authorization", "Basic " + btoa('test' + ":" + 'test1'));
            }
    })
}

我看到其他库的继承,例如Fetch和Axios。这些库是否有其他功能比Ajax更能阻止我更好的错误处理?

我想让我的应用程序尽可能轻量级,我假设Axios和Fetch是Ajax的包装器,可以更好地处理承诺。

https://github.com/github/fetch/issues/203

0 个答案:

没有答案