$ resource delete方法将params作为查询字符串

时间:2016-04-13 18:36:49

标签: angularjs ngresource

我正在尝试使用$ resource实现CRUD,我在POST,PUT和GET中没有发现任何问题。但是在删除方法上,params作为查询字符串被传递。

我的服务:

   service.Assigndepart = $resource(CONFIG.wsurl + '/employee/assign/depart',null, {
            update: {
                method: 'PUT'
            },
            remove:{
              method: 'DELETE'
            }
        });

将我的控制器称为

Assigndepart.remove(params, function(success), function(error));

我的网址传递的查询字符串为“employee = 1234& depart = 456”。 可以对此有所帮助

2 个答案:

答案 0 :(得分:1)

基本上看看如果你进入方法类型的表单标签中的Html apis,你将会看到只支持get和post方法,这表明通过post和get我们可以做我们想要的所有其他的只是好的约定和一些代码优化(比如put方法)。删除方法就像get方法一样,它总是包含参数作为它的参数,没有什么可以做的。如果你想删除你必须使用只发布或发出请求的结构,或者您仍然可以在两端使用delete方法进行加密和解密,即应用服务器和前端。

答案 1 :(得分:0)

根据Angular $resource文档,需要使用以下参数调用没有正文的操作方法:

Resource.action([parameters], postData, [success], [error])

因此,您将postData作为DELETE操作的参数传递给你。控制器上的正确呼叫将是:

Assigndepart.remove({}, params, function(success), function(error));