我正在利用的魔力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); }
});
});
有谁知道如何超时工作?
如果您的错误事件处理程序在发生超时时采用三个参数(xmlhttprequest,textstatus和message),则状态arg将为“超时”。
根据jQuery文档:
第二个参数(除null外)的可能值为“超时”,“错误”,“未修改”和“ 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);
}
}
});
使用jsFiddle,您可以测试ajax调用-
它将等待2秒钟才能做出响应。我将超时设置设为1秒,因此它应该出错,并将’timeout’的文本状态传递回错误处理程序。
希望这可以帮助!
您可以在下面的问题中看到:(liquibase-lock-reasons)当Liquibase操作中断时客户端Liquibase锁定,使Liquibase处于锁定状态。 我想知道是否有一种方法可以配置Liquibase,使其从列中的日期和时间自动检测这种情况。我想如果你已经拿着锁一个小时了--你应该把它叫做过期锁。
我发现以下错误: _recordSSLHandshakeException:sun.security.ssl.ValidatorException: PKIX路径构建失败:mpl.performSunCertPathBuilderException:无法在sun.security.ssl.找到请求目标的有效认证路径mpl.startSSLException(未知来源)在sun.security.s
问题内容: 我正在尝试确定给定类型()是否为可选类型,我正在使用此测试 但它始终返回false。 那么有什么办法可以做到这一点? 问题答案: 假设您要执行的操作是这样的: 可悲的是,swift当前(从Swift 2开始)不支持协方差和协变,并且不能直接针对类型进行类型检查: 一种替代方法是使特定协议扩展,并检查该类型:
问题内容: 我想针对AJAX请求与常规请求以不同的方式处理错误。 如何在Struts2操作中确定请求是否为AJAX? 问题答案: 您应该检查请求标头是否存在并且等于。 请注意,并非所有AJAX请求都具有此标头,例如,请求不发送该标头。如果您是使用(或使用任何其他新的AJAX框架)生成AJAX调用,则该文件就在那里。 您可以使用… 检查它是否存在,例如,当您对Stack Overflow投票时;)
问题内容: 我正在使用Wget通过cron通过以下命令运行PHP脚本: 该脚本最多需要5-6分钟来进行处理。WGet是否会等待它并一直提供它所需的时间,还是会超时? 问题答案: 根据wget的手册页,有两个与超时有关的选项-默认读取超时为900s-所以我说是的,它可能会超时。 这是有问题的选项: 将网络超时设置为秒秒。这等效于同时指定, 和和 。 对于这三个选项: 将DNS查找超时设置为秒秒。 在
我想开发一个android应用程序,它总是在收听可播放的广告,对信标有用。该应用程序具有活动和后台服务。所有BLE操作都在服务中完成,此服务在找到特定mac时执行REST post: ... mBluetoothAdapter.startLeScan(this);... public void onLeScan(最终BluetoothDevice设备,最终int rssi,字节[]扫描记录)。。。