如何在$ resource POST上设置请求体和参数

Mat*_*nis 0 javascript http angularjs

我正在尝试将请求正文中的数据和请求参数传递给Angular $资源调用.下面是我的控制器的点击处理程序和它调用的服务:

controller.js:

vm.setLimit = function(limit) {
  var data = {
    activity: 'point_limit',
    limit: limit
  };
  playersService.setPlayerLimit({
    playerId: playerId,
    data
  });
};
Run Code Online (Sandbox Code Playgroud)

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'}
      });
    }]);
Run Code Online (Sandbox Code Playgroud)

getPlayerInfo有效,但setPlayerLimit不是因为,由于某种原因,它没有通过playerId.

Aja*_*mar 5

playersService.setPlayerLimit 应按顺序取4个参数:

(请求参数,请求体,成功回调,错误回调)

将您的代码修改为:

playersService.setPlayerLimit({playerId: playerId}, data, success, error);
Run Code Online (Sandbox Code Playgroud)