在使用$.ajax進行前后端交互時,我們調(diào)用的接口有可能會返回錯誤信息,這個時候我們需要處理error的情況。使用$.ajax的error回調(diào)可以幫助我們處理一些錯誤狀態(tài)碼和錯誤信息。
$.ajax({
url: '/api/xxx',
type: 'get',
dataType: 'json',
success: function(result) {
// do something with result
},
error: function(xhr, status, error) {
console.log(xhr);
console.log(status);
console.log(error);
}
});
其中,error回調(diào)函數(shù)有三個參數(shù),分別是xhr,status和error。xhr是XMLHttpRequest對象,包含了一些從服務(wù)器返回數(shù)據(jù)的信息;status表示錯誤的狀態(tài)碼,如404或500;error表示錯誤信息的字符串形式。
對于返回的json格式的錯誤信息,我們可以通過xhr.responseText來獲取,可以在error回調(diào)中進行處理,例如:
$.ajax({
url: '/api/xxx',
type: 'get',
dataType: 'json',
success: function(result) {
// do something with result
},
error: function(xhr, status, error) {
if (xhr.status === 400) {
var response = JSON.parse(xhr.responseText);
console.log(response['message']);
}
}
});
在上面的代碼中,我們判斷是否是400錯誤狀態(tài)碼,如果是,就將xhr.responseText作為json格式的字符串解析,然后輸出其中的message字段。