Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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 工厂函数给出;错误:未定义_Javascript_Angularjs_Angular Promise - Fatal编程技术网

Javascript 工厂函数给出;错误:未定义

Javascript 工厂函数给出;错误:未定义,javascript,angularjs,angular-promise,Javascript,Angularjs,Angular Promise,我很难对我的api进行http.get调用。以下是设置: user.js .config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise('/hem'); $stateProvider.state('anvandare', { url: '/anvandare',

我很难对我的api进行http.get调用。以下是设置:

user.js

.config(['$stateProvider', '$urlRouterProvider',
   function($stateProvider, $urlRouterProvider) {

     $urlRouterProvider.otherwise('/hem');

     $stateProvider.state('anvandare', {
       url: '/anvandare',
       views: {
         'main': {
           controller: 'UserController',
           templateUrl: 'modules/user/user.tpl.html'
         }
       }
     });

}])

.controller('UserController', 
  ['$scope', '$http', 'userFactory', function($scope, $http, userFactory) {
    this.users = [{name: "Patrik"}];
    $scope.message = userFactory.test();

    userFactory.getUsers().then(function(users) {
      $scope.users = users;
    });
}])

.factory('userFactory', ['$http', function($http) {

   return {
     test: function() {
       return "hello world";
     },
     getUsers: function() {
       $http.get('/api/user');
     }
   };
 }]);
模块/user/user.tpl.html

<div class="container" ng-controller="UserController as UserCtrl">
  <h1>Users</h1>

  <p>{{message}}</p>
  <ul>
    <li ng-repeat="user in users">{{user.name}}</li>
  </ul>
</div>
当在我的浏览器中键入“localhost:5000/api/user”时,我会将所有用户恢复为json格式

[{"_id":"54e4c44f8d18e2a43f58935f","name":"Patrik","__v":0,"updated_at":"2015-02-18T16:56:47.105Z"},{"_id":"54e4c4588d18e2a43f589360","name":"Patrik Nygren","__v":0,"updated_at":"2015-02-18T16:56:56.603Z"},{"_id":"54e4c45f8d18e2a43f589361","name":"Patrik Ackerfors","__v":0,"updated_at":"2015-02-18T16:57:03.011Z"},{"_id":"54e4c4888d18e2a43f589362","__v":0,"updated_at":"2015-02-18T16:57:44.226Z"}]

我做错了什么?

您必须从
getUsers
方法返回一些内容:

 getUsers: function() {
   return $http.get('/api/user');
 }

您没有从
getUsers
函数返回任何内容。您需要
返回$http.get('/api/user')是的,就是这样,回答一下,我会解决的。谢谢这不会帮助任何人…可能永远:)你应该删除这个问题
 getUsers: function() {
   return $http.get('/api/user');
 }