javascript - 如何在 $resource POST 上设置请求正文和参数

标签 javascript angularjs http

我正在尝试将请求正文中的数据和请求参数传递给 Angular $resource 调用。下面是我的 Controller 的点击处理程序及其调用的服务:

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 无效,因为由于某种原因,它没有传递 playerId

最佳答案

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

(请求参数、请求正文、成功回调、错误回调)

将代码修改为:

playersService.setPlayerLimit({playerId: playerId}, data, success, error);

关于javascript - 如何在 $resource POST 上设置请求正文和参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31570633/

相关文章:

AngularJS - 重置绑定(bind)对象的状态

java - 使用 Ajax 将 @RequestBody 中的多个变量传递给 Spring MVC Controller

security - HSTS header 真的有助于抵御 MITM 攻击吗?

javascript - Canvas 中的图像尺寸、比例错误并且变得模糊

javascript - 按照 promise 将 .map 函数中的扩展对象从服务返回到 Controller

javascript - AngularJS $location.search() 不返回任何内容

javascript - Protractor 找不到 Angular

ruby - 如何打印有关 NET :HTTPRequest for debug purposes? 的信息

ISO 8859-1 或 Unicode 中的 JavaScript 变量名称

javascript - 如何使用 Cypress 检测 HTML 表单验证中 setCustomValidity 的输出