由于项目中大量的实用了
期间尝试使用定义“AJAX 请求发生错误时执行函数($(document).ajaxError())”
的方式来解决问题,但影响范围太大,长轮询发生的错误也被捕获,导致页面一打开就弹出系统异常的对话框。
所以这里采用扩展jQuery的方法的技术来解决问题:
/* 扩展jQuery.post方法
* 用于支持错误处理,原来使用$.post的地方只需要改为$.postEx即可,不需要做其它改动;
* 如果需要单独处理异常,请将第四个参数设置为异常处理函数;
*/
jQuery.extend({
postEx:function(requestUrl, sendData, successCallback, errorCallback) {
if (typeof errorCallback === 'undefined'){
errorCallback = ajaxErrorEx;
}
$.ajax({
url: requestUrl,
data: sendData,
type: "post",
cache: false,
dataType: 'json',
timeout: 30000,
success: successCallback,
error: errorCallback
});
}
});
统一异常处理:原来使用
单独处理异常:如果需要单独处理异常,请将第四个参数设置为异常处理函数;