AngularJs 中的 CORS 配置难题
CORS(跨源资源共享)允许来自同一个源(例如您的网站)的 JavaScript 访问来自不同来源的资源(例如 API)。不过,必须在服务器端启用。
您提供的配置尝试在客户端启用 CORS,但没有效果。以下代码片段演示了您所尝试的操作:
myApp.config(function($httpProvider) { $httpProvider.defaults.useXDomain = true; delete $httpProvider.defaults.headers.common['X-Requested-With']; }); myApp.service('dataService', function($http) { delete $http.defaults.headers.common['X-Requested-With']; ... });
此配置允许跨域请求,但失败,因为服务器需要使用适当的 CORS 标头进行响应以授予权限。
错误消息“XMLHttpRequest 无法加载 URL。Access-Control-Allow-Origin 不允许 Origin”表示服务器的响应缺少必要的 CORS 标头。要解决此问题,您需要在托管您尝试访问的 API 的服务器上配置 CORS。
提供的链接讨论客户端 CORS 处理,这不适用于您的情况。服务器必须实现 CORS 以允许从不同来源访问其资源。
以上是为什么我的 AngularJS 应用程序的客户端 CORS 配置不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!