AngularJS $资源参数名称

时间:2014-03-17 14:21:23

标签: javascript php html5 angularjs interface

我正在使用PhP界面。我必须与此界面交互以保存一些数据。例如,要保存客户,PhP服务需要通过此表单的POST请求

来获取数据
  • customer [customer_name] ="客户名称"
  • 客户[customer_code] ="客户代码"
  • 客户[customer_is_visible] ="客户是否可见"

我尝试创建一个AngularJS服务来执行此操作:

angular.module("app").factory("SaveCustomer", ["$resource", 
    function($resource){
        return $resource("/services/customers/post/", 
                            {
                                customer[customer_name]:'@name',
                                customer[customer_code]:'@code',
                                customer[customer_is_visible]:'@visibility',
                                dtsave:'true'
                            },
                            {
                                save: {
                                       method:'POST'
                                }
                            });
}]);

问题在于参数名称。 Angular不喜欢方括号,它说:"预期:但[在客户[定制......"我可以完成此任务还是必须修改PhP界面才能与之交互? (请注意,我还没有创建界面)。谢谢。

编辑:我用这种方式调用服务:

SaveCustomer.save({name:customerName, code:customerCode, visibility:customerIsVisible});

2 个答案:

答案 0 :(得分:1)

尝试将customer转换为对象:

angular.module("app").factory("SaveCustomer", ["$resource", 
    function($resource){
        return $resource("/services/customers/post/", 
            {
                customer: { 
                    customer_name: '@name',
                    customer_code:'@code',
                    customer_is_visible:'@visibility'
                },
                dtsave:'true'
            },
            {
                save: {
                    method:'POST'
                }
            }
        );
    }
]);

答案 1 :(得分:1)

我认为你不需要在$ resource对象的默认参数中定义任何东西,这段代码应该可行(我想是这样)

angular.module("app").factory("SaveCustomer", ["$resource", 
    function($resource){
        return $resource("/services/customers/post/", 
            {
                dtsave:'true'
            },
            {
                save: {
                    method:'POST'
                }
            }
        );
    }
]);

你可以称之为:

SaveCustomer.save({customer: {customer_name:customerName, customer_code:customerCode, customer_is_visible:customerIsVisible}});