javascript - Angular 资源自定义 URL 使用查询字符串和 POST 参数

标签 javascript angularjs api rest put

我在我的应用程序中的 Angular 资源上编写了一个自定义方法来激活用户。 API 端点是 /users/activate 并且必须将激活码放入此端点。这是我的资源的样子:

app.factory('User', ['$resource',
    function($resource){
        return $resource('http://api.site.dev/users/:id', {id: '@id'}, {
            activate: {method:'PUT', params:{code: '@code'}, url: 'http://api.site.dev/users/activate'}
        });
    }]);

我在我的 Controller 中像这样使用它:

User.activate({code: $routeParams.code});

正如您从 Chrome 上的网络日志中看到的那样,激活码正在查询字符串和请求正文中发送:

enter image description here

如何更改资源以仅在请求正文中而不是在查询字符串中传递激活码?

最佳答案

只需从 Action 声明中删除params:

activate: {method:'PUT', url: 'http://api.site.dev/users/activate'}

关于javascript - Angular 资源自定义 URL 使用查询字符串和 POST 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23528512/

相关文章:

javascript - AngularJS 中的 getTime(),Java Script 中的 new Date(date) 错误

javascript - 采用一个或一组对象的 Typescript 函数

javascript - SystemJS+Typescript环境下Jasmine异步启动

css - 在 ionic 中实现半星

ruby-on-rails - Rails Grape API 'id is invalid' 在不需要 id 的请求中

javascript - 为脚本定义一个 id 并在同一脚本中引用该 id

javascript - 预检响应具有无效的 HTTP 状态代码 404 angular js

javascript - 在 DOM 中动态重新加载 ng-repeat 数据

ruby-on-rails - 自定义设计路线

python - 发布API授权