Javascript 供应商';用户API';必须从$get factory方法返回一个值
在我的工厂Javascript 供应商';用户API';必须从$get factory方法返回一个值,javascript,angularjs,Javascript,Angularjs,在我的工厂 var UserService = angular.module('UserService', []); UserService.factory('UserApi', function ($http) { var baseUrl = "http://localhost:59844/api"; var UserApi = {}; UserApi.getUsers = function () { return $http.get(baseUrl + '/Use
var UserService = angular.module('UserService', []);
UserService.factory('UserApi', function ($http) {
var baseUrl = "http://localhost:59844/api";
var UserApi = {};
UserApi.getUsers = function () {
return $http.get(baseUrl + '/UserLogins');
};
});
在我的控制器中:
var myApp = angular.module('MyApp', ['ngRoute','UserService']);
myApp.controller('HomeController', function ($scope, UserApi) {
getUsers();
function getUsers(){
UserApi.getUsers.success(function (users) {
$scope.users = users;
}).error(function (error) {
$scope.status = "Couldn't load data";
})
}
});
看起来UserApi没有返回任何值。但是无法获取它为什么?您还需要返回服务对象
var UserService = angular.module('UserService', []);
UserService.factory('UserApi', function ($http) {
var baseUrl = "http://localhost:59844/api";
var UserApi = {};
UserApi.getUsers = function () {
return $http.get(baseUrl + '/UserLogins');
};
return UserApi;
});
成功了。现在我面临控制器的问题。它说“UserApi.getUsers.success不是一个函数”。@JaowatRaihan$http返回一个承诺,用“then”代替success