angularjs $resource不替换POST url模板中的变量



使用AngularJS 1.2.16和angular-resource 1.2.16。

我有一个资源,如:

$resource('api/:variable/path',
    {
        variable:'@variableName'
    });

当我使用

之类的东西进行get操作时
resourceIns.get({variable:'taco'});

结果ajax调用正确地替换了:变量,i得到

api/taco/path

如果我写一个像

这样的帖子
resourceIns.save({variable:'taco'});
结果ajax调用看起来像
api/path

和'taco'被放在POST正文中…

我很难找到其他人抱怨这个,所以,也许这是应该发生的?

edit:我刚刚发现在上面的例子中get使用'variable'而save/POST使用'variableName'。有人能解释一下吗?

这里有一个提琴显示的情况:提琴

我遇到了同样的问题,或者以同样的方式出现的问题。我的资源也不尊重通过.post方法传入的参数。

我可以通过直接传入预期的参数来使它工作。

使用$resource:

angular.module('myApp')
  .factory('ModuleProductProducts', function ($resource) {
    return $resource('/module-api/product-products/:siteId/:id/:controller', {
      id: '@id'
    },
    {
        'updateMedia': {
            method: 'POST',
            url: 'module-api/product-products/:id/media/:mediaId',
            // *** Here ***
            params: {
                id: '@id',
                mediaId: '@mediaId'
            }
            // ************
        }
    });
  });

最新更新