【问题标题】:Edit data before sending with ngResource在使用 ngResource 发送之前编辑数据
【发布时间】:2016-04-07 09:23:10
【问题描述】:

嘿,我想在使用 ngResource(构建 FormData 对象)发送数据之前更改数据。我按照我找到的示例做所有事情,但是我不能让它们工作。这是我的代码:

我设置数据并尝试发送它们的控制器:

        var vm = this;
        vm.application = new Application();
        vm.application.title = 'Test title';
        Application.save({}, vm.application, function(){

        });

我的服务:

function application(ApiBaseUrl, $resource) {
    var actions = {
        'save': {
            metod: 'POST',
            url: ApiBaseUrl + "/applications",
            headers: { 'Content-Type': false },
            transformRequest: function (data) {
                console.log(data); //Returns 'undefined'
                return data;
            }
        }
    };
    return $resource(ApiBaseUrl + "applications/:id", {}, actions);
}

在函数transformRequest 中,数据对象始终标记为“未定义”。难道我做错了什么?有没有更好的方法在发送之前编辑数据?

【问题讨论】:

  • 你试过了吗:Application.save(vm.application, function(){});
  • 是的,我也试过这个。在这种情况下,数据作为查询字符串发送,函数 transformRequest 中的对象仍然是“未定义”。
  • 你在Application.save(vm.application, function(){});调用之前记录了vm.application的内容吗?
  • 是的,这就是我得到的:Resource {title: "Test title"}
  • 我不明白vm.application = new Application(); 的目的,因为应用程序似乎是您的AngularJS 服务。您可能想尝试vm.application = {};,然后尝试vm.application.title = 'Test title';.. 这样可以吗?

标签: angularjs angularjs-service angular-resource ngresource angularjs-ng-resource


【解决方案1】:

问题是我遇到了

metod: 'POST'

我应该在什么时候使用:

method: 'POST'

【讨论】:

    猜你喜欢
    • 2021-10-31
    • 2021-12-01
    • 1970-01-01
    • 2018-09-25
    • 2021-08-24
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多