cof*_*tor 197 ajax jquery connection-timeout
我正在利用魔力jQuery.ajax( settings ).
但是,我想知道是否有人玩超时设置多吗?
我知道它基本上用于指示请求的本地时间,但如果达到超时,它是否可以触发任何内容?或者它只是停止听取回应?
阅读jQuery网站,我可以看到没有传递任何参数,所以它看起来像是一个具有一个功能的简单设置.哪个好.
但是,如果达到超时,我想触发警报或某些功能.在这种情况下,我可以看到错误设置没有被触发.
这是我的片段:
$("form#testform").submit(function(){
var allFormValues = $("form#testform").serialize();
$.ajax({
cache:false,
timeout:8000, // I chose 8 secs for kicks
type:"POST",
url:"someurl.php",
data:allFormValues,
error:function(){ alert("some error occurred") },
success:function(response){ alert(response); }
});
});
Run Code Online (Sandbox Code Playgroud)
有谁知道如何使用超时工作更多?
Dav*_*ter 346
如果错误事件处理程序在超时发生时接受三个参数(xmlhttprequest,textstatus和message),则状态arg将为"timeout".
根据jQuery文档:
第二个参数的可能值(除了null)是"timeout","error","notmodified"和"parsererror".
您可以相应地处理您的错误.
我创造了这个小提琴来证明这一点.
$.ajax({
url: "/ajax_json_echo/",
type: "GET",
dataType: "json",
timeout: 1000,
success: function(response) { alert(response); },
error: function(xmlhttprequest, textstatus, message) {
if(textstatus==="timeout") {
alert("got timeout");
} else {
alert(textstatus);
}
}
});?
Run Code Online (Sandbox Code Playgroud)
使用jsFiddle,您可以测试ajax调用 - 它将在响应之前等待2秒.我将超时设置设置为1秒,因此它应该出错并将"超时"的textstatus传回错误处理程序.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
211396 次 |
| 最近记录: |