我遇到了一个问题,我正在尝试检索错误响应的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的包装器,可以更好地处理承诺。