Angular JS的数据响应undefined

我是Angular JS的新手,正在尝试使用JSON数据调用Rest API。 当我运行HTTP服务器,我没有得到我的回应数据。

function contacts(contactsdata) { contactsdata.getcontacts().then(function(data) { this.contactsinfo = data; }); } (function(){ var mod = angular.module('myapp'); mod.controller("contacts", contacts); mod.service("contactsdata", function($http) { this.getcontacts = function(){ var execute1 = $http.get('http://localhost:3000/contacts'); var execute2 = execute1.then(function(response) { return response.data; }) return execute2; } }); })(); 

你可以尝试这个服务

  this.getcontacts = function(){ return $http.get('http://localhost:3000/contacts'); }); 

并用作

 contactsdata.getcontacts().then(function(response){ this.contactsinfo = response.data; }); 

这里有几个问题。

  1. 需要像这样初始化angular度时传递一个空数组

    var mod = angular.module('myapp', []);

  2. 需要像这样在控制器中注入服务的依赖关系

    mod.controller("contacts", ['$scope', 'contactsdata', contacts]);

  3. 您可以从服务返回承诺,如$http.get... &使用服务中的数据

 function contacts($scope, contactsdata) { contactsdata.getcontacts(). then(function(data) { console.log(data) }); } (function() { var mod = angular.module('myapp', []); mod.controller("contacts", ['$scope', 'contactsdata', contacts]); mod.service("contactsdata", ['$http', function($http) { this.getcontacts = function() { return $http.get('https://jsonplaceholder.typicode.com/posts/1') } }]) })(); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="myapp"> <div ng-controller="contacts"></div> </div>