背景:我来自Python世界,其中try:
/ except:
完全处理异常,即我可以控制捕获异常时输出的内容。
我正在对可能无法使用的API进行AJAX调用:
function updateAPI() {
getAPI()
.done(function (r) {
console.log('got API response: ' + JSON.stringify(r));
updateFromAPI(r);
})
.fail(function (r) {
console.log('failed to get API response: ' + r);
}
);
}
function getAPI() {
return $.ajax({
type: 'GET',
url: 'http://127.0.0.1:8081/api'
});
}
我原本希望将我的两条消息中的一条发送到控制台,就这样。但是,控制台还显示了由JS记录的实际错误:
Failed to load resource: net::ERR_CONNECTION_REFUSED (16:11:45:867 | error, network)
at http://127.0.0.1:8081/api
failed to get API response: [object Object] (16:11:45:868)
这种冗长是否正常?
第二行显示我发现错误(我不知道如何正确显示)。
答案 0 :(得分:0)
根据the doc:
jqXHR.fail(function(jqXHR,textStatus,errorThrown){});
对于失败的请求,参数与.fail()的参数相同:jqXHR对象,textStatus和errorThrown
通过执行console.log('failed to get API response: ' + r);
,您只需记录xhr
对象(即[object Object]
)。
尝试:
.fail(function (r, textStatus, errorCode) {
console.log('failed to get API response: ' + textStatus + '(error ' + errorCode + ')');
});