我正在学习site。
我将它用于Android应用程序以获取PHP数据并显示应用程序。
当我在AngularJS中启动网络服务时,Google Chrome会在控制台中显示此错误:
XMLHttpRequest无法加载http://192.168.1.10/android_connect/JsonReturn.php。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许原点'null'访问。
这是我的JavaScript代码:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
<script>function GetUsers($scope, $http) {
// this is where the JSON from api.php is consumed
$http.get('http://192.168.1.10/android_connect/JsonReturn.php').
success(function(data) {
// here the data from the api is assigned to a variable named users
$scope.users = data;
});
}</script>
然后我设置了HTML代码:
<div ng-controller="GetUsers">
<table>
<thead><tr><th>ID</th><th>Name</th><th>Email</th></tr></thead>
<tbody>
<tr ng-repeat="user in users"><td>{{user.id}}</td><td>{{ user.name }}</td><td>{{user.email}}</td></tr>
</tbody>
</tfoot></tfoot>
</table>
</div>
我尝试了所有可能的解决方案,但它似乎没有解决我的代码中的问题。
答案 0 :(得分:3)
您正在尝试使用XMLHttpRequest发出跨域请求。要使其正常工作,响应请求的Web服务器需要将Access-Control-Allow-Origin
响应标头设置为*
。
答案 1 :(得分:0)
或者,从托管API的同一服务器上提供Angular页面。那么您就没有跨域请求。