【发布时间】:2017-05-16 07:15:39
【问题描述】:
我收到CORS 标头丢失错误。我无法修改后端Web服务的代码,我只能更改客户端应用程序。
我可以在谷歌浏览器上添加“Allow control allow origin”插件,但我不想在所有客户端上安装插件来访问 api。如何更改我的AngularJS 代码,以免出现此问题?
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope, $http) {
$http.get('url', {
headers: { 'Authorization': 'Basic a2VybmVsc3B==' }
})
.then(function (response) {
$scope.names = response.data;
});
});
</script>
【问题讨论】:
-
您的服务器应该发送该标头来告知允许的来源。
-
因为你有不同的API服务器,所以你可以在你的后端服务器中添加header
"Access-Control-Allow-Origin", "*"。 -
我可以通过在 google chrome 中添加插件来解决这个问题,然后我不能在前端应用程序中为 cors 标头丢失编写代码
-
您可以做到这一点的唯一方法是使用代理。 所有使用 jsonp 的建议都不起作用,因为 jsonp 不支持标头
-
您控制的服务器上的服务器端脚本,它向远程 api 或第三方服务发出 cURL 请求。进行网络搜索
标签: javascript angularjs cors