angularjs - 如何使用 ngResource 模块和 Angular 发送 x-www-form-urlencoded 数据?

标签 angularjs rest ngresource

一切都在标题中。

以 Angular 生成资源时:

myModule.factory('MyResource', ['$resource', function ($resource) {

    return $resource('api/MyResource/:id');

}]);

并在 Controller 中使用:

MyResource.save({att: att, att2: att2});

服务将 json 工件中的数据发送到服务器。

我需要以 x-www-form-urlencoded 形状发送数据。

我应该在哪里修改代码来解决这个问题?

最佳答案

应传递headers参数

myModule.factory('MyResource', ['$resource', function ($resource) {
    return $resource('api/MyResource/:id', {}, {
        save: {
            method: 'POST',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            }
        }
    });
}]);

然后在使用 $httpParamSerializer 发送数据之前序列化数据

myModule.controller('appController', function ($httpParamSerializer) {
    MyResource.save($httpParamSerializer({att: att, att2: att2}));
}

关于angularjs - 如何使用 ngResource 模块和 Angular 发送 x-www-form-urlencoded 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29149786/

相关文章:

javascript - AngularJs 中 .closest jQuery 函数的等价物是什么?

javascript - 通过 ng-init 将变量注入(inject)到 Controller

javascript - AngularJS 在用户点击范围内等待 $resource Promise

java - AngularJs 和 Java Servlet 技术

javascript - TypeScript 中的 AngularJS 值

ASP.Net Web API - 授权 header 空白

rest - 无法将 LUIS 订阅 key 分配给应用程序 - API V2.0

java - 抽象类中的 Rest JSON POST 未编码 unmarshall 通用参数错误 400

AngularJS:无法使用 $resource 发送 PUT 请求

javascript - 使用 ngResource、socket.io 和 $q 维护资源集合