【问题标题】:Angularjs $resource dynamic headers with $saveAngularjs $resource 动态标头与 $save
【发布时间】:2016-02-14 22:38:17
【问题描述】:

我正在尝试将动态标头添加到 $resource,如下所示:

angular.module('app')
 .factory('API', function ($resource, API_URL) {
  return {
   event: function(userId){
    return $resource(API_URL + '/event/:id', {
      id: '@id'
    }, {
      get: {
        method: 'GET',
        headers: {
          'service': 'API',
          'userId': userId
        }
      },
      save: {
        url: API_URL + '/event/:id/accept',
        method: 'PUT',
        headers: {
          'service': 'API',
          'userId': userId
        }
      }
    })
  }
 };
});

使用它可以让我传入在使用 get 时可以正常工作的标头。

当我想保存一个对象时,这只是返回未定义:

var event = new Muse.event('jonro')(object);

请有人帮忙解释一下为什么我不能以这种方式使用 $resource。

谢谢

【问题讨论】:

    标签: angularjs http-headers ngresource angularjs-ng-resource


    【解决方案1】:

    'save' 通常使用 POST 动词 ($resource)

    如何调用 save 方法? 来自参考:

    非 GET “类”操作:Resource.action([parameters], postData, [成功],[错误])

    如果您查看您的请求,开发者工具会说什么?

    【讨论】:

    • event.$save({id: $stateParams.id});
    • 这就是我在新模型对象上调用 save 的方式,这在没有动态标题的情况下工作
    • 刚刚看到您的 cmets,因为您已经在回复中写道,您错过了要保存的对象:)
    【解决方案2】:

    已修复使用此方法进行更新:

    API.event('jonro').save({id: $stateParams.id}, object)
    

    【讨论】:

      猜你喜欢
      • 2015-11-29
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多