6
我有一個網絡應用程序,通過AJAX請求和發送數據,作爲響應,我的服務器端根據具體情況發送HTTP狀態代碼。例如,如果用戶在登錄時嘗試登錄,我可能會返回400 HTTP status code
。並最終我處理它與警報等如何處理所有AJAX調用的特定HTTP錯誤?
但處理這些HTTP狀態代碼變得太重,因爲我大量使用AJAX。這意味着我將在每次AJAX請求時重複處理HTTP狀態代碼,這將導致代碼重複,這是一種不好的做法。
所以,什麼我正在尋找是一種方法來處理在一個地方所有這些錯誤,所以我只是處理所有400
,401
等使用相同的代碼。
目前我在做什麼:
手動處理錯誤的每個AJAX調用。通過使用$.ajax()
中的statusCode
。
statusCode: {
500: function(data) {
alert('Some friendly error message goes here.');
}
這似乎是對我來說是矯枉過正,因爲我的web應用程序開發,併爲我創造更多的Ajax調用。我會一遍又一遍地重複這段代碼。
目前,我在心中唯一的想法是創建將在AJAX的頂部,類似工作的函數:
function doAjax(type,url, data, moreVars) {
//this function is just a SIMPLE example, could be more complex and flexible.
$.ajax({
type: type,
url: url,
data: data,
moreOptions:moreVars,
//now handling all status code.
statusCode: {
//handle all HTTP errors from one place.
}
});
}
doAjax("POST", 'mydomain.com/login.php', dataObj);
*「。注意:全局回調函數應該用各自的全局AJAX事件處理方法,'.ajaxStart設置()','.ajaxStop()','。 ajaxComplete()','.ajaxError()','.ajaxSuccess()','.ajaxSend()' - 而不是''.ajaxSetup()'。「的選項對象內* – josh3736 2012-07-29 00:18:44