我有一个用AngularJS制作的网站。本网站对位于同一域上的子目录中的 API 服务器进行 API 调用。从我的 AngularJS 代码到 API 的调用仅在我访问带有 URL www
的网页时才有效。
因为我的 AngularJS 应用程序也调用了所有 API 以及 URL 中的www
子域。
当我像这样访问我的页面时:http://example.com
,然后由于跨域策略,所有对http://www.example.com/api/Something
的调用都会失败。
人们有时只是去http://example.com
,而其他人则使用www.example.com
。那么,在通过$resource
进行API调用的AngularJS应用程序中解决此问题的最佳实践是什么?
通过将此标头添加到 PHP 来修复它:
header("Access-Control-Allow-Origin: *");
与其尝试在您的代码中处理此问题,我会确保您的服务器处理对任一 URL 的调用,就像您不处理来回切换一样。这应该可以消除CORS的任何问题。