我正在使用PhP界面。我必须与此界面交互以保存一些数据。例如,要保存客户,PhP服务需要通过此表单的POST请求
来获取数据我尝试创建一个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});
答案 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}});