我正在尝试从angularjs 1.7执行CORS请求,但是它始终被浏览器阻止。
实际上,应该在服务器中启用CORS:OPTIONS的响应标头包含以下条目:“ Access-Control-Allow-Origin *”
这是整个响应头:
Access-Control-Allow-Headers X-Requested-With, Content-Type, Accept, Authorization, accept-language
Access-Control-Allow-Methods POST, GET, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin *
Cache-Control private
Content-Type text/html; charset=utf-8
Date Wed, 29 Aug 2018 10:09:43 GMT
Location /WebServiceREST/general/filter…AspxAutoDetectCookieSupport=1
Server Microsoft-IIS/7.5
Set-Cookie AspxAutoDetectCookieSupport=1; path=/
Strict-Transport-Security max-age=31536000
Transfer-Encoding chunked
X-AspNet-Version 4.0.30319
这是阻止CORS请求的角度代码:
angular.module('myApp', []).controller('Hello', function ($scope, $http) {
var req = {
method: 'GET',
url: 'https://mycorssite/WebServiceREST/general/filter/EN',
headers : {
'Authorization' : 'Bearer ******'
}
}
$http(req).
then(function(data) {
console.log('success', data);
$scope.data = data;
}).
catch(function(data) {
console.log('error', data, status);
$scope.data = 'error with status code: ' + data.status;
});
});
结果是文本“状态代码错误:-1”和浏览器控制台中的以下三行:
跨源请求被阻止:同源策略禁止阅读 远程资源位于...(原因:CORS不请求外部重定向 允许)
跨源请求被阻止:同源策略禁止阅读 远程资源位于...(原因:CORS预检通道没有 成功)
跨源请求被阻止:同源策略禁止阅读 远程资源位于...(CORS请求未成功)
有人知道为什么CORS请求在浏览器中被阻止吗?