【发布时间】:2013-08-29 05:21:08
【问题描述】:
在通过自定义操作发出 PUT 请求时,$resource 未正确传递 url 参数。
这是我创建资源的服务。
.factory('cartItemsService', ['$resource', function($resource) {
return $resource('/api/cart/:cartId/items/', {format: 'json'}, {
get: {method: 'GET', isArray: true},
update: {method: 'PUT', isArray: true},
});
}])
在我的控制器中,我正在尝试更新这样的项目列表。请注意$scope.cart.id 存在且正确(在本例中为 1)
$scope.cartItems = cartItemsService.update({cartId: $scope.cart.id});
但是请求 URL 是:/api/cart/items/,但我期待的是 /api/cart/1/items/。如果我执行.get({cartId: <some_id>}),这可以正常工作,但似乎不适用于更新。
编辑:Angular 版本 1.1.5
【问题讨论】:
-
如果你硬编码并尝试
update({cartId:1})会发生什么? -
@Chandermani,一模一样
标签: angularjs angular-resource