the*_*mhz 8 javascript ajax jquery
有没有办法指定ajax发布到服务器的最大执行时间,所以如果服务器没有响应,那么继续尝试10秒然后继续其余的代码?
Function doajaxPost(){
var returned_value="";
// #############I NEED THIS CODE TO TRY TO POST THE DATA TO THE SERVER AND KEEP
// #############TRYING FOR 10 SECONDS AND THEN CONTINUE WITH THE REST OF THE CODE.
jQuery.ajax({
url: 'ajaxhandler.php',
success: function (result) {
returned_value=result;
},
async: false
});
// ###################################################
alert(returned_value);
some other code
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
ily*_*oli 19
用途timeout
:
jQuery.ajax({
url: 'ajaxhandler.php',
success: function (result) {
returned_value=result;
},
timeout: 10000,
async: false
});
Run Code Online (Sandbox Code Playgroud)
但是,alert(returned_value);
将在您的通话后执行(不会等待通话结束).
Joh*_*her 11
JQuery API文档说明了如何设置"超时".
http://api.jquery.com/jQuery.ajax/
虽然这里的其他答案是正确的,但学习自己检查文档比知道这个答案更有价值.
您可以为ajax请求设置超时值.
设置请求的超时(以毫秒为单位).这将覆盖使用$ .ajaxSetup()设置的任何全局超时.超时时间从$ .ajax调用点开始; 如果其他几个请求正在进行且浏览器没有可用的连接,则请求可能会在发送之前超时.在jQuery 1.4.x及更低版本中,如果请求超时,XMLHttpRequest对象将处于无效状态; 访问任何对象成员可能会抛出异常.仅在Firefox 3.0+中,超时无法取消脚本和JSONP请求; 即使脚本在超时期限后到达,脚本也会运行.
这是一个例子:
$.ajax({
url: "ajaxhandler.php",
...
timeout: 10000,
...
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26176 次 |
最近记录: |