angularjs – 为什么重定向的CORS请求失败?
发布时间:2020-12-17 07:17:00 所属栏目:安全 来源:网络整理
导读:我的问题是在我的应用程序运行localhost:8080上的 angularjs $http调用 var url "https://api.acme.com/RX/v1/user";$http.get(url).success(function (data) { alert('yay');$scope.user = data;}); 第一个请求成功,Chrome记录了以下响应: Status Code:30
我的问题是在我的应用程序运行localhost:8080上的
angularjs $http调用
var url "https://api.acme.com/RX/v1/user"; $http.get(url).success(function (data) { alert('yay'); $scope.user = data; }); 第一个请求成功,Chrome记录了以下响应: Status Code:302 Found Access-Control-Allow-Credentials:true Access-Control-Allow-Origin:http://localhost:8080 Location:https://login.acme.com/cas/login?service=https%3A%2F%2Fapi.acme.com%2FRX%2Fv1%2Fuser 这导致浏览器向重定向位置发出第二个GET请求: https://login.acme.com/cas/login?service=https%3A%2F%2Fapi.acme.com%2FRX%2Fv1%2Fuser 第二个请求失败,Chrome中报告了以下错误: XMLHttpRequest cannot load https://login.acme.com/cas/login?service=https%3A%2F%2Fapi.acme.com%2FRX%2Fv1%2Fuser. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 所以我有一个从源到URL的CORS请求,允许将请求重定向到另一个也配置为允许请求的URL.但是重定向请求失败了.我应该期待这个吗? 请注意,api.acme.com和login.acme.com都配置为允许使用所有来源 Access-Control-Allow-Origin: * 解决方法
见本节(7.1.7)的步骤6:
http://www.w3.org/TR/cors/#redirect-steps
更多讨论可以在这里找到:https://code.google.com/p/chromium/issues/detail?id=154967
|