angularjs从localhost中的php获取json

时间:2016-10-31 02:16:36

标签: javascript php angularjs json

我有一个PHP脚本通过GET返回json,代码如下

<?php
$output = //generate json data;
header('Content-type: application/json');
echo json_encode($output); ?>

我在本地主机上托管这个php,所以当我访问http://localhost/test.php时,我能够正确地看到json数据。

然后我有一个使用AngularJS的页面,如下面的

<h1>{{myWelcome}}</h1>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
  $http({
    method : "GET",
    url : "http://localhost/test.php"
  }).then(function mySucces(response) {
      $scope.myWelcome = response.data;
      alert("success");
    }, function myError(response) {
      $scope.myWelcome = response.statusText;
      alert("fail");
  });
});

我运行页面,UI中没有显示任何内容。我没有得到任何警报。这意味着它既不成功也不失败。如果我将URL切换为其他api。例如

url : "http://congress.api.sunlightfoundation.com/legislators?apikey=xxx"

我可以正确回复。这意味着我的js代码很好。所以我的问题是,为什么我无法从我的localhost php获得json响应。我的PHP有什么问题,或者是我的问题吗?

我尝试在stackoverflow中搜索,有些人建议这样做,但它没有帮助。

$http.get('http://localhost/angmysql/api.php').success(function(response) {
    $scope.users = response.data;
}); 

感谢@jay的评论。看看控制台,就是这样。

XMLHttpRequest无法加载http://127.0.0.1/test.php。 No&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上。起源&#39; http://127.0.0.1:8020&#39;因此不允许访问。

0 个答案:

没有答案