1

在我的 ASPX 页面中,我调用了一个包含 5 秒超时的 Ajax 调用的 javascript 函数。

我首先尝试在关闭互联网连接且超时正常工作的情况下调用此函数。但是当我第二次调用这个函数时,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
});
4

1 回答 1

3

timeout不是你在这种情况下所想的,它是 jQuery 等待 ajax 请求返回的毫秒数。

如果服务器回复的时间超过 5 秒,则不会触发回调。

暂停

为请求设置超时(以毫秒为单位)。这将覆盖使用 $.ajaxSetup() 设置的任何全局超时。超时时间从 $.ajax 调用开始;如果有几个其他请求正在进行并且浏览器没有可用的连接,则请求可能会在发送之前超时。在 jQuery 1.4.x 及以下版本中,如果请求超时,XMLHttpRequest 对象将处于无效状态;访问任何对象成员都可能引发异常。仅在 Firefox 3.0+ 中,脚本和 JSONP 请求不能被超时取消;即使脚本在超时期限之后到达,它也会运行。

文档

于 2013-01-11T12:36:20.863 回答