繁体   English   中英

所请求的资源上没有“ Access-Control-Allow-Origin”标头。 AngularJS

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM