請教能人前輩
jquery ajax 如果獲取timeout 并進行處理的?
需求是:當此ajax timeout時可執行我方法 fn a()
$.ajax({
type: "post",
async:false,
dataType: "json",
url: "ashx/Main.ashx",
cache: false,
success: function(result)
{
},
error: ajaxError
});
对jQuery来说,超时可以直接设置timeout参数,并在error事件中捕获第二个参数,如果是“timeout”则表明捕获了超时事件,非常清楚。
要设置请求超时可以用全局属性$.ajaxSetup({timeout:5000});
例子:
$.ajax({ type: "POST", contentType: "application/json", url: "../ws/MyService.asmx/test", data: '{"email":"'+email+'"}', timeout: 30000, //超时时间:30秒
dataType: 'json', error: function(XMLHttpRequest, textStatus, errorThrown){ //TODO: 处理status, http status code,超时 408
// 注意:如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能
//是"timeout", "error", "notmodified" 和 "parsererror"。
},
success: function(result) { // TODO: check result
}
});
参考的这个http://www.cnblogs.com/Mainz/archive/2009/09/14/1566494.html