我正在使用xhr.setRequestHeader
在jQuery中設置beforeSend
的身份驗證。該代碼是這樣的:如何閱讀setRequestHeader錯誤?
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Basic ' + btoa(app.username + ':' + app.password));
}
沒有看中這裏,但是我們要說提供的密碼不正確,那麼我的身份驗證失敗...如何捕獲錯誤正是由於這個部分?
似乎沒有beforeSend
或xhr.setRequestHeader
的回調函數,任何人都有解決方案或寫了一些東西來做到這一點?
編輯:
這是代碼
success: function(rows) {
// everything is fine here when I provide correct username/password
},
error: function(responseData, textStatus, errorThrown) {
console.warn(responseData);
console.warn(textStatus);
console.warn(errorThrown);
// nothing shows up in the console when I provide a bad username/password
}
編輯2的其餘部分:
那麼,事情是XHR從來沒有因爲沒有控制服務器失敗-側!驗證成功與否,通話已完成,並返回了4的readyState
和200的status
。如果沒有顯示錯誤,則說明爲什麼我無法顯示它!
_如何捕捉那個部分的錯誤?_與AJAX請求期間處理任何錯誤的方式相同:'error'回調選項。或jqXHR對象的'失敗'方法。沒什麼特別的。 – hindmost
jQuery有一個錯誤回調,您可以將其掛接到http://api.jquery.com/jquery.ajax/ – garryp
您可以使用'error'回調函數或'.fail()'promise函數來執行此操作。檢查[文檔](http://api.jquery.com/jquery.ajax/) – pistou