【问题标题】:Cross origin request from web client to API server从 Web 客户端到 API 服务器的跨源请求
【发布时间】:2014-12-25 04:12:37
【问题描述】:

我有一个用 AngularJS 制作的网站。该网站对位于同一域的子目录中的 API 服务器进行 API 调用。从我的 AngularJS 代码到 API 的调用仅在我使用 URL 中的 www 访问我的网页时才有效。

因为我的 AngularJS 应用程序也使用 URL 中的 www 子域调用所有 API。

当我像这样访问我的页面:http://example.com 时,由于跨域策略,所有对 http://www.example.com/api/Something 的调用都会失败。

人们有时只是去http://example.com,而其他人则使用www.example.com。那么,在通过$resource 进行 API 调用的 AngularJS 应用程序中解决此问题的最佳实践是什么?


通过将此标头添加到 PHP 来修复它:

header("Access-Control-Allow-Origin: *");

【问题讨论】:

  • @MatthewGreen 你确定吗?从http://domainhttp://www.domain 的请求被视为跨域请求不是很正常吗?
  • @MatthewGreen 你是对的。我通过在服务器响应中添加标头来解决此问题。您能否将其添加为答案,以便我接受。
  • 完成。您可能想要更新答案或添加自己的答案,但这会显示您添加的标题,因为这可能会有所帮助。

标签: angularjs cross-domain angular-resource


【解决方案1】:

我不会尝试在您的代码中处理此问题,而是确保您的服务器正在处理对任一 URL 的调用,就像您不处理来回切换一样。这应该可以消除 CORS 的任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    相关资源
    最近更新 更多