JS,Angular,AJAX:如何混合这三个?

时间:2015-05-14 15:53:13

标签: javascript php ajax angularjs

我想使用AJAX函数从PHP网页导入JSON数据,然后在Angular JS控制器中使用它。问题是,没有任何工作。

这是我的代码:

(function(){
  var xmlhttp = new XMLHttpRequest();
  var url = "ajax/get_pal.php?type=populars&page=";
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      pal = JSON.parse(xmlhttp.responseText);
    }
  }
  xmlhttp.open("GET", url, true);
  xmlhttp.send();

  var app = angular.module('palMod', []);
  app.controller('PalController', function(){
    this.prod = pal;
  });
})();

我还是AngularJS的初学者,但我完全迷失在这里。我做错了什么?

get_pal.php发送类似的内容:(当然还有一些数据)

[{"id":"1","name":"Test","list":"[]","date_post":""}, ......]

2 个答案:

答案 0 :(得分:3)

不要把普通的ajax与angularjs混在一起。 Angularjs提供了进行ajax调用的方法。 使用$ http拨打电话。

var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
    $http.get("http://www.websitename.com/file.php")
    .success(function(response) {$scope.names = response.records;
});
});

答案 1 :(得分:0)

您可以使用$ http模块来实现您想要的效果。你可以在这里阅读https://docs.angularjs.org/api/ng/service/ $ http

的文档

希望这有帮助!

P.S:别忘了注入模块。

(例如:var app = angular.module(' MyCtrl',[' $ http']);