【发布时间】:2012-08-28 19:59:22
【问题描述】:
在我们的 Web 应用程序中,我们使用以下服务器通信方法
- XMLHttpRequest
我们在两种情况下都发送相同的内容/数据,但 XMLHttpRequest 在网络工作中运行。
使用的浏览器是带有--disable-web-security标志的chrome。
Web Worker XMLHttpRequest 会在 worker 内部失败但在外部不会失败,有什么原因吗?
如果将 XMLHttpRequest 的完全相同的代码从 worker 转移到普通的 JavaScript,它会完美运行吗?
错误:
XMLHttpRequest 无法加载 URL。 Access-Control-Allow-Origin 不允许使用原始文件://。
【问题讨论】:
-
您能告诉我们您收到的实际错误消息吗?代码也会很好。
-
您是否尝试访问跨域数据?
-
您在 WebWorker 内部和外部使用相同的代码吗?你在哪里使用 jQuery 包装器,这有什么改变吗?
-
worker 内部和外部的代码相同,但在 worker 内部它会导致跨域错误,而在外部它工作正常,可能是因为脚本是一个新的 javascript 线程,它不会在“禁用”下运行-web-security”标志?
-
错误说明了一切:Access-Control-Allow-Origin 不允许原始文件://。您不能从 file:// 位置体面地 XHR。通过服务器打开页面(本地主机很好,但必须由网络服务器提供服务)。
标签: javascript jquery ajax xmlhttprequest web-worker