我是Angular JS的新手,我正在尝试使用JSON数据调用Rest API。当我运行HTTP-server时,我没有收到我的响应数据。
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;
}
});
})();
答案 0 :(得分:0)
您可以在服务中尝试此操作
this.getcontacts = function(){
return $http.get('http://localhost:3000/contacts');
});
并用作
contactsdata.getcontacts().then(function(response){
this.contactsinfo = response.data;
});
答案 1 :(得分:0)
这里几乎没有问题。
在初始化角度时需要传递空数组
var mod = angular.module('myapp', []);
需要像这样在控制器中注入服务的依赖性
mod.controller("contacts", ['$scope', 'contactsdata', contacts]);
您可以退回服务中的承诺,例如返回$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>
&#13;