我正在利用魔力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)
有谁知道如何使用超时工作更多?
我应该使用哪一个?
有没有理由使用一个而不是另一个?
错误处理更好吗?
$.ajax({
url: url,
data: { start: start, end: end }
}).done(function(data, textStatus, jqXHR) {
$('#myElement').append(data);
}).fail(function() {
// report error
});
Run Code Online (Sandbox Code Playgroud)
要么
$.ajax({
url: url,
data: { start: start, end: end },
success: function(data, textStatus, jqXHR) {
$('#myElement').append(data);
},
error: function(jqXHR, textStatus, errorThrown) {
// report error
}
});
Run Code Online (Sandbox Code Playgroud) 在普通的javascript中执行Ajax请求时,似乎可以设置超时值.请参阅如何在浏览器中检测AJAX(XmlHttpRequest)调用的超时?
当我使用jQuery的ajax实现和其他类似的框架时,它也是可能的.请参阅设置ajax超时(jQuery)
浏览器似乎对其默认超时有相当模糊的规范.请参阅浏览器超时
因此,有人可能会"嘿,我要为我的ajax请求设置超时,以便所有用户都具有相同的超时".
但接下来的问题是:它会在所有情况下实际覆盖浏览器的超时吗?
当我说"所有"情况时,我的意思是,例如,如果浏览器超时值小于您的ajax请求超时值.
我怀疑它没有.
我还怀疑最好总是有一个超时错误处理程序,以确保无论发生什么,您都可以显示相关消息,这将为您的支持团队节省数小时的工作,并为您的公司节省资金.请参阅确定$ .ajax错误是否超时
提前致谢
如何在延迟时调用 jquery 函数 onload?
我想在有一些延迟的情况下在加载时调用这样的函数
$(".sample").live('click',function(){
var id=$(this).attr("id");
Run Code Online (Sandbox Code Playgroud)