[英]How to set request body and params on $resource POST
我試圖將請求主體中的數據和請求參數傳遞給Angular $ resource調用。 以下是我的控制器及其服務中的點擊處理程序:
controller.js:
vm.setLimit = function(limit) {
var data = {
activity: 'point_limit',
limit: limit
};
playersService.setPlayerLimit({
playerId: playerId,
data
});
};
service.js:
angular.module('gameApp')
.factory('playersService', ['$resource',
function($resource) {
var base = '/api/players/:playerId/';
return $resource(base, {}, {
getPlayerInfo: {method: 'GET', url: base + 'playerInfo'},
setPlayerLimit: {method: 'POST', url: base + 'playerLimit'}
});
}]);
getPlayerInfo
可以工作,但是setPlayerLimit
不能setPlayerLimit
做,因為出於某種原因未將其傳遞給playerId
。
playersService.setPlayerLimit
應該按以下順序使用4個參數:
(請求參數,請求正文,成功回調,錯誤回調)
將您的代碼修改為:
playersService.setPlayerLimit({playerId: playerId}, data, success, error);
在這里找到解決方案
“使用重載method(params, payload)
簽名”,如下所示:
vm.setPlayerLimit = function(limit) {
playersService.setPlayerLimit({playerId: playerId}, {activity: 'point_limit', limit: limit});
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.