【问题标题】:qooxdoo XHR Firefox return NS_ERROR_FAILUREqooxdoo XHR Firefox 返回 NS_ERROR_FAILURE
【发布时间】:2013-09-13 10:31:39
【问题描述】:

我正在将 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 插件但没有结果。

有什么建议吗?

【问题讨论】:

    标签: javascript ajax firefox qooxdoo


    【解决方案1】:

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

    http://tinyurl.com/oaky63o

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

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

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

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

    Access-Control-Allow-Origin: *

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

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

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

    另见:

    【讨论】:

      猜你喜欢
      • 2013-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-20
      相关资源
      最近更新 更多