0

我正在将 qooxdoo 3.0.1 用于 Web 应用程序。在当前状态下,该应用程序在 google chrome 中运行良好,但在 iceweasel 17 和 firefox 23 中运行良好

当我在控制台中使用 qx.bom.request.Xhr() 发送 xhr 时出现问题我收到以下消息

异常...“失败”nsresult:“0x80004005(NS_ERROR_FAILURE)”
位置:“JS 框架 :: http://localhost:8000/qooxdoo/framework/source/class/qx/bom/request/Xhr.js :: 。 members.send :: line 387" 数据:无]

在 Firefox 中,我禁用了安全浏览和严格的来源策略,因为请求不是在同一台服务器中发出的,我什至尝试在 Firefox 中使用 Force CORS 插件但没有结果。

有什么建议么 ?

4

1 回答 1

0

运行此 Playground 示例时,您是否在 Iceweasel 17 / Firefox 23 的浏览器控制台中看到响应?

http://tinyurl.com/oaky63o

在这个示例中,我使用的是 jsontest.com [1],它是 echo 服务 [2],它以Access-Control-Allow-Origin标头(值为*)进行响应,因此希望您应该能够验证此代码片段是否也可以在上述浏览器版本中运行.

我假设您正在使用GET并且没有发送任何数据,所以如果有错误请在这里纠正我。

好的,那么您可以对显然缺少 CORS 正常工作的开发环境做些什么:

你能控制服务器吗?您可以添加自定义标题吗?如果答案是“是”,请确保您的服务器使用此标头进行响应(您不应在开发环境中将通配符用于生产 - 请参阅 [3] 和 [4]) - 就像来自 jsontest 的服务一样.com:

Access-Control-Allow-Origin: *

这是最简单和首选的方法,不需要任何浏览器配置。

如果您无法控制服务器,那么您提到的“Force CORS”Firefox 附加组件 [5] 应该可以解决问题。只需附加?alloworigin=false到我在操场示例中使用的http://echo.jsontest.comAccess-Control-Allow-Origin URL 即可防止 jsontest.com 发送标头。安装并手动启用“强制 CORS”后,我也可以在浏览器控制台中看到预期的响应。

所以我的假设是,当你禁用“安全浏览和严格的来源政策”时,你可能搞砸了。您可以恢复原始设置并仅尝试服务器配置适配或“Force CORS”附加组件吗?您是否在插件栏中手动启用了“强制 CORS”插件?

也可以看看:

于 2013-09-16T14:06:44.100 回答