【问题标题】:Cross-domain request in FirefoxFirefox 中的跨域请求
【发布时间】:2015-10-01 22:15:17
【问题描述】:

我正在为 RQM(Rational Quality Manager)开发一个 OpenSocial 小工具(JavaScript 语言),它从 DWA(Doors Web Access)获取信息。该小工具在 RQM (https://:9443/) 上运行,我想向 DWA (https://:8443/) 发出请求。

小工具在 IE 中运行正常,但在 Firefox 中运行时出现以下错误:

> Cross-Origin Request Blocked: The Same Origin Policy disallows reading
> the remote resource at https://<host>:8443/xxxx. (Reason: CORS header
> 'Access-Control-Allow-Origin' missing). <unknown> Cross-Origin Request
> Blocked: The Same Origin Policy disallows reading the remote resource
> at https://<host>:8443/xxxx. (Reason: CORS request failed). <unknown>

可能是什么问题,我该怎么办?有什么我可以在客户端做的吗?

提前致谢!

【问题讨论】:

标签: javascript firefox cross-domain opensocial


【解决方案1】:

CORS 代表跨域资源共享。由于相同的源策略,您不允许向其他 URI 方案、端口号、主机名等 (https://en.wikipedia.org/wiki/Same-origin_policy) 发出请求。您正在尝试向另一个端口号发出请求。对此的解决方案是 CORS、JSONP 和 Web 套接字。但是你能做的最好的事情就是使用 CORS。有关如何实施的更多信息,您可以查看http://www.html5rocks.com/en/tutorials/cors/https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

【讨论】:

  • 我已经尝试过使用 CORS,但就我而言,它要求服务器必须与 CORS 兼容。我穿了吗?
  • 确实如此。您可以尝试联系服务器端并要求启用 CORS,或者您可以尝试 JSONP。
  • 当你说'或者你可以尝试JSONP'时,你的意思是这种方法不需要在服务器端进行更改,只需要在客户端进行更改?
  • 服务器需要启用 JSONP...(不知道这里是否是这种情况) JSONP 背后的想法是通过使用脚本标签,域限制将被忽略。只是想了点别的。也许您可以使用 cURL 来检索信息。您可以在命令行中使用 cURL。 en.wikipedia.org/wiki/CURL
猜你喜欢
  • 2011-01-25
  • 2015-08-10
  • 2016-01-29
  • 2018-06-28
  • 1970-01-01
  • 2010-10-14
  • 2021-02-19
  • 2014-07-18
相关资源
最近更新 更多