【发布时间】:2014-06-23 23:10:30
【问题描述】:
$.ajax(
url:"",
async: true,
timeout: 2*60*60*1000, //2 hours,
success: function(){},
error: function(){}
);
在 jQuery ajax 请求中,如果我将超时设置为一个很大的值,或者将其留空,它会一直等到服务器返回结果吗?
实际上,我预计服务器会在 1.5 小时内响应,所以在我的 js 脚本中我将超时设置为 2 小时,但我发现 Ajax 跳转到错误功能(msg 代码为 404)不到 1 小时。这意味着 ajax 提前中止了等待。
所以不知道ajax是否可以设置最大超时值?
【问题讨论】:
-
你为什么要做一个 1.5 小时内得到答复的 ajax 请求?
-
1.5h 是最坏的预期情况。大多数其他 ajax 将在几秒钟内返回。
-
你必须考虑用户体验。
-
取决于你的服务器端语言——启动一个后台进程或线程,然后让你的 JS 询问“你倒下了”——起初,可能每 15 秒,然后每分钟,然后每五个,然后每 15 个...
标签: javascript jquery ajax timeout http-status-code-404