如何将$resource转换为$http
how to convert $resource to $http?
如何将我对$resource
的使用转换为利用原始$http
服务?$resource
到底做了什么,而$http
没有?
return $resource(API_LINK+'/api/users/', {
id: '@_id'
},
{
changePassword: {
method: 'PUT',
params: {
controller:'password'
}
},
get: {
method: 'GET',
params: {
id:'me'
}
})
$resource
只是对$http
的抽象,其理念是API便于用于RESTful端点。$resource
所能做的一切都不能用$http
来写。在利用$http
的工厂中编写上述内容的方法可能包括。。。
// assumption that API_LINK is an injectable constant
.factory('MyService', function(API_LINK, $http) {
function changePassword(params) {
return $http.put(API_LINK +'/api/users/', params);
}
function get(id) {
return $http.get(API_LINK +'/api/users?id=' + id);
}
return {
changePassword: changePassword,
get: get
}
});
使用以下用法。。。
.controller('ctrl', function($scope, MyService) {
MyService.get('me').then(function(response) {
// ...
});
MyService.changePassword({ controller: 'password' }).then(function(response) {
// ...
});
});
如果您需要通过相关的承诺解析来完全控制工厂功能,我建议您查看AngularJS$q API。
我们还可以使用另一种方法:
get: function() {
var id = 'me';
$http.get(API_LINK + '/api/users/' + id )
.success(function(response) {
defer.resolve(response);
})
.error(function(err) {
console.log('err', err);
defer.reject(err);
});
return defer.promise;
},
changePassword: function() {
$http.put(API_LINK + '/api/users/', {controller:'password'} )
.success(function(response) {
defer.resolve(response);
})
.error(function(err) {
console.log('err', err);
defer.reject(err);
});
return defer.promise;
}
相关文章:
- 如何将PHP get查询转换为Meteor's HTTP.get()
- 如何将控制器http调用转换为接受参数的服务/工厂模式
- 如何将AJAX POST转换为HTTP POST,以便在单击时发布
- 如何使用javascript在网络上仅将UTC时间戳转换为本地时间?从 http://openweathermap.or
- 将 $http.get 转换为 Restangular
- 如何将 xhr 请求转换为角度$http请求
- 将 JavaScript Http Upload 脚本转换为 Curl 命令
- 如何将 HTTP 转换为 HTTPS Facebook 应用程序
- 手动将 AngularJS $http参数对象转换为 URL 参数
- 是否有将 WebSocket 请求转换为服务器上的 HTTP 请求的标准
- HTTP 请求并通过 JSON 的比较转换为 JSON
- 在 Angular 中将 JavaScript 函数转换为$http提供程序
- 如何将$resource转换为$http
- 尝试将jquery ajax转换为angular http
- 将JSON HTTP POST请求转换为Java对象时出错
- 如何将dropbox API v2 POST HTTP请求转换为jQuery$.ajax
- 如何转换和计算值从字符串到$http后的数字.在Angular.js中发布
- 使用jQuery或Javascript将所有http://转换为https://
- 我的服务器请求需要从 Http 转换为 Https
- 在Angularjs中将$http转换为$resource