一般情況下是對你的請求加error方法,最好的是全局注入容錯方法,下面以JQ舉個例子。
$(document).ready(function() {
(function($) { //備份jquery的ajax方法
var _ajax = $.ajax; //重寫jquery的ajax方法
$.ajax = function(opt) { //備份opt中error和success方法
var fn = { error: function(XMLHttpRequest, textStatus, errorThrown) {},
success: function(data, textStatus) {}, beforeSend: function(XHR) {},
complete: function(XHR, TS) {}
}; if (opt.error) fn.error = opt.error; if (opt.success) fn.success = opt.success;
if (opt.beforeSend) fn.beforeSend = opt.beforeSend; if (opt.complete) fn.complete = opt.complete;
//擴展增強處理
var _opt = $.extend(opt, { error: function(XMLHttpRequest, textStatus, errorThrown) {
//錯誤方法增強處理
fn.error(XMLHttpRequest, textStatus, errorThrown); // 敲黑板,這里是重點
location.href = 'http://xxxxxx/login.html';
}, success: function(data, textStatus) { //成功回調方法增強處理
fn.success(data, textStatus);
}, beforeSend: function(XHR) { //提交前回調方法
fn.beforeSend(XHR);
}, complete: function(XHR, TS) { //請求完成后回調函數 (請求成功或失敗之后均調用)。
fn.complete(XHR, TS);
}
});
_ajax(_opt);
};
})(jQuery);
});