簡體   English   中英

如何在$ resource POST上設置請求正文和參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM