【发布时间】: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://domain到http://www.domain的请求被视为跨域请求不是很正常吗? -
@MatthewGreen 你是对的。我通过在服务器响应中添加标头来解决此问题。您能否将其添加为答案,以便我接受。
-
完成。您可能想要更新答案或添加自己的答案,但这会显示您添加的标题,因为这可能会有所帮助。
标签: angularjs cross-domain angular-resource