jQuery Ajax timeout 處理

請教能人前輩

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
    });

1个回答

对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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐