我正在使用Angular $ HTTP向远程API服务(SmartyStreets.com)发出CORS请求。我已经设置了详细记录的默认值。
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}])
当我发出没有自定义标头的简单请求时,一切都按预期工作。
// This works as expected
$http({method: 'get', url: $scope.addr.url, headers: {}})
但是,我现在需要设置一些其他的自定义标头。但是设置自定义标头会破坏CORS请求。
// this results in the browser 404 error:
// No 'Access-Control-Allow-Origin' header is present on the requested resource
$http({method: 'get', url: $scope.addr.url,
headers: {'x-standardize-only': 'true', 'x- include-invalid': 'true'}})
我已经尝试了好几天了……卡住了。有人知道如何解决这个问题吗?
谢谢!!
您的服务器需要正确响应浏览器代表您发出的OPTIONS请求,以确定CORS请求是否有效。它需要包含Access-Control-Allow-Headers
带有正确信息的标头。请参阅:https://developer.mozilla.org/zh-CN/docs/HTTP/Access_control_CORS#Preflighted_requests
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句