
[英]AngularJS: No 'Access-Control-Allow-Origin' header is present on the requested resource
[英]No 'Access-Control-Allow-Origin' header is present on the requested resource. AngularJS
编辑:用我解决我的问题的方式添加了新的注释。
我在服务器http://xxx.xxx.x.xx/data.json上有一个示例json(如果我直接访问它,我可以看到它)
[
{"name":"Neptune", "distance":30.087},
{"name":"Uranus", "distance":19.208},
{"name":"Saturn", "distance":9.523},
{"name":"Jupiter", "distance":5.203},
{"name":"Mars", "distance":1.524},
{"name":"Earth", "distance":1.0},
{"name":"Venus", "distance":0.723},
{"name":"Mercury", "distance":0.387}
]
我想将其加载到我的应用程序中(以后我会用phonegap对其进行打包)-尽管我当然在浏览器上进行了测试。
我有这个HTML和脚本:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.1
5/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="planetController">
<ul>
<li ng-repeat="name in names">
{{ name.name + ', ' + name.distance }}
</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('planetController', function($scope, $http) {
$http.get("http://xxxxxxxx/data.json")
.success(function(response) {$scope.names = response;});
app.config(['$httpProvider'], function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
})
});
</script>
我收到请求的资源上没有“ Access-Control-Allow-Origin”标头。 我阅读了有关它的大多数主题,但没有帮助,即使我修改了脚本,我仍然遇到错误。
我通过添加解决了这个问题:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin: *
</IfModule>
在httpd.conf中
并取消注释同一文件中的LoadModule headers_module modules / mod_headers.so行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.