Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度JS数据响应未定义_Javascript_Angularjs_Node.js_Json Server - Fatal编程技术网

Javascript 角度JS数据响应未定义

Javascript 角度JS数据响应未定义,javascript,angularjs,node.js,json-server,Javascript,Angularjs,Node.js,Json Server,我是Angular JS新手,正在尝试使用JSON数据调用Rest API。当我运行HTTP服务器时,我不会返回我的响应数据 function contacts(contactsdata) { contactsdata.getcontacts().then(function(data) { this.contactsinfo = data; }); } (function(){ var mod = angular.module('myapp');

我是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;
});

这里没有什么问题

  • 像这样初始化时需要传递一个空数组

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

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

    mod.controller(“contacts”、[“$scope”、“contactsdata”、contacts])

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

  • 功能联系人($scope,contactsdata){
    contactsdata.getcontacts()。
    然后(函数(数据){
    console.log(数据)
    });
    }
    (功能(){
    var mod=angular.module('myapp',[]);
    mod.controller(“联系人”[“$scope”,“contactsdata”,contacts]);
    mod.service(“contactsdata”['$http',function($http){
    this.getcontacts=函数(){
    返回$http.get('https://jsonplaceholder.typicode.com/posts/1')
    }
    }])
    })();
    
    
    
    1)OP可能已经在其他地方创建了模块,并且正在使用模块getter
    angular。模块(moduleName)
    2)DI注释仅在缩小codeYes时才需要,但在代码段中不可见,因此,当我运行上述代码时,我已经注入了依赖数组3)OP,它将从
    $http
    返回承诺。显示“联系人未定义”@Phil