HTTP POST和得到服务
问题描述:
我有一个服务如下HTTP POST和得到服务
angular.module('starter.service')
.factory('authService', function($http) {
var service = {};
service.GetByUsername = function() {
return $http.get('/js/user.json');
}
return service;
})
我只需要知道两件事情, 1.为什么它被声明名为服务对象? 2.its用于获取对象的服务,我应该更改哪些更改以添加另一个函数来发布对象(使用相同的代码)?不要删除当前的功能。
答
您正在使用的工厂方法来创建一个服务,让你需要创建一个对象并返回它(依赖注入将确保这个对象只被实例化一次,所以它被用作单例)。 无论你创建的这个对象被称为“服务”还是其他任何方式,无关紧要,它都可以工作。
-
正如Shankar在他的例子中所示,向您的服务添加更多方法与向您声明的对象添加更多方法一样简单。为了澄清的例子,我会添加你想要发布的说法,让不管是谁使用该服务来决定如何处理返回的承诺做(因为你在GET方法做):
angular.module('starter.service') .factory('authService', function($http) { var service = {}; service.GetByUsername = function() { return $http.get('/js/user.json'); } service.PostUser = function(user) { return $http.post("/url/to/post/user", user); } return service; })
答
你的问题是不明确的,但你可以简单地添加新的功能,以您的工厂服务,
angular.module('starter.service')
.factory('authService', function($http) {
var service = {};
service.GetByUsername = function() {
return $http.get('/js/user.json');
}
service.PostUser = function() {
var data = {}
$http.post("/js/user.json", data).success(function(data, status) {
})
}
return service;
})