Angularjs 如何在$http.delete中发送和数组

Angularjs 如何在$http.delete中发送和数组,angularjs,http,meanjs,Angularjs,Http,Meanjs,我想删除使用http post创建的标记。这是我尝试过的代码 $http({ method: 'DELETE', url: '/api/tags', data: [vm.tags.name] }).success(function(data) { console.log('Gets DELETED'); vm.tags.name = data; }).error(function(data) { console.log('Does not get

我想删除使用http post创建的标记。这是我尝试过的代码

$http({
    method: 'DELETE',
    url: '/api/tags',
    data: [vm.tags.name]
}).success(function(data) {
    console.log('Gets DELETED');
    vm.tags.name = data;
}).error(function(data) {
    console.log('Does not get DELETED');
});
但是这不起作用,它只发送一个带有[null]的数组。所以这里有什么我看不到或不明白的。我的意思是,如果帖子有效,它应该和删除一样有效,对吗?顺便说一下,它显示日志“被删除”,但没有这样做

看看这个,如果你在DELETE的主体中发送了一些东西,就会被忽略

您应该按如下方式发送:

current/path?id=1&id=2&id=3&id=4
{ id : [1, 2, 3, 4] }
这就像GET方法一样,你不允许在体内发送任何东西

更新

如果使用示例中的URL参数发出请求,您将收到如下对象:

current/path?id=1&id=2&id=3&id=4
{ id : [1, 2, 3, 4] }

我找到解决办法了!在我的例子中,HTTP 1.1能够发送正文,但是头不能发送,所以请使用JSON的内容。因此,通过将
标题:{'Content-Type':'application/json;charset=utf-8'}
添加到
$http.delete
的data:字段中,它工作了,数组得到了发送

我希望这对某人有帮助


谢谢你的回答

但是这篇文章说HTTP 1.1允许这样做?好吧,但让我们假设这就是问题所在,我如何以我尝试过的路径发送数组:“api/tags/”+[myarray]我不这么认为,如果你查看一下,你会发现URI中只提到了参数。例如,如果你想接收一个ID数组,您可以在URL中发送多个字符串,如示例中所示,我用最后一个对象的示例进行了更新