javascript - "XMLHttpRequest.timeout cannot be set for synchronous http(s) requests made from the window context"是什么意思?

标签 javascript ajax safari xmlhttprequest safari6

我在 Mac 上的 Safari 中同步 xm​​l http 请求时遇到一些超时。作为解决方法,我尝试像这样添加超时:

    req.open(this.method, fullURL, this.isAsync);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

    var params = this.envelopeForm();
    req.setRequestHeader("Content-length", params.length);
    req.timeout = 60000;  //Get the timeut cannot be set here
    req.send(params);  //Without the above, get a timeout here in Safari

使用 .timeout = 60000 我在 .send 上超时。

使用 .timeout=60000,我收到“无法为从窗口上下文发出的同步 http(s) 请求设置 XMLHttpRequest.timeout。”

我不清楚“无法为从窗口上下文发出的同步 http(s) 请求设置 XMLHttpRequest.timeout”是什么意思。我还在 mozilla 的文档中发现它的措辞如下:

注意:您不能对拥有窗口的同步请求使用超时。

有解决办法吗?在 MSDN 站点上,我发现了以下关于 Internet Explorer 的声明:

如果您设置的 XMLHttpRequest 超时值大于网络堆栈的超时值,网络堆栈将首先超时并且不会引发 ontimeout 事件

-埃里克

最佳答案

timeout 同步 ajax 请求只能用于 web workers

关于javascript - "XMLHttpRequest.timeout cannot be set for synchronous http(s) requests made from the window context"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21487892/

相关文章:

iphone - 从 iPhone 应用程序打开 Safari 的指南

javascript - 使用 NodeJS 生成服务器端 HighStock 图表

javascript - 使用 Google map 发出 AJAX 请求时,使 Highcharts 显示在 infowindow 窗口中

ios - 使用 MapLinks 时如何防止 Safari 启动?

javascript - 从菜单中下拉空选择

javascript - 使用ajax重新加载部分 View

ios - 为什么我的 NSURLSessionDownloadTask 下载无法到达我的客户端?

javascript - 检测由 CSS 转换引起的 HTML 元素的移动

php - 为什么这个 javascript 不能按照我们在弹出窗口中的目的运行

javascript - 从 ASP.NET 中的按钮播放声音