在我的ASPX页面中,我调用了一个javascript函数,其中包含一个5秒超时的Ajax调用。
我首先尝试在关闭互联网连接时调用此功能,并且超时工作正常。但是当我第二次调用这个函数时,Ajax调用直接调用成功函数,而不等待超时和后续的错误函数。
这是ajax调用
$.ajax({
type: "POST",
url: pageUrl + "/SubmitAnsGetNewQue",
data: jsonParamsForSbmt,
timeout: 5000,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: SetNextQueSet,
error: OnErrorCall
});
答案 0 :(得分:3)
timeout
不是你在这个上下文中的想法,它是jQuery等待ajax请求返回的时间量(以毫秒为单位)。
如果服务器回复花费的时间超过5秒,则不会触发回调。
<强>超时强>
设置请求的超时(以毫秒为单位)。这将覆盖使用$ .ajaxSetup()设置的任何全局超时。超时时间从$ .ajax调用点开始;如果其他几个请求正在进行且浏览器没有可用的连接,则请求可能会在发送之前超时。在jQuery 1.4.x及更低版本中,如果请求超时,XMLHttpRequest对象将处于无效状态;访问任何对象成员可能会抛出异常。仅在Firefox 3.0+中,超时无法取消脚本和JSONP请求;即使在超时时间之后到达,脚本也会运行。