相关疑难解决方法(0)

实体主体是否允许HTTP DELETE请求?

发出HTTP DELETE请求时,请求URI应完全标识要删除的资源.但是,是否允许添加额外的元数据作为请求的实体主体的一部分?

rest http

651
推荐指数
13
解决办法
36万
查看次数

发送带有正文的 Angular $http.delete

在我的 Angular 应用程序中,我需要通过$http.delete此路由发送请求/projects/:id/activityTypes(注意它不以活动类型 ID 结尾)并传递以下格式的正文:

[{"id": 2}]
Run Code Online (Sandbox Code Playgroud)

这是为了允许通过发送数组内的多个对象来进行批量删除操作。

使用 Rest Web 服务客户端测试上面的路由,我得到一个200, OK状态,因此该路由已经实现并且工作正常,我只需要在我的 Angular 应用程序中实现它。

现在,我检查了上一篇文章,其中有一个非常相似的问题,并了解到 Angular$http.delete默认情况下不会在请求中发送正文,但是:

[它]确实允许我们提供一个配置对象作为第二个参数,通过它我们可以访问“data”属性。

所以我尝试了建议的方法并在我的请求中发送了一个配置对象:

return $http.delete('projects/' + projectID + '/activityTypes', {data: [{id: 2}]})
Run Code Online (Sandbox Code Playgroud)

然而,它不起作用。看起来虽然我发送了这个配置对象,但我仍然没有发送正文。

我怎样才能真正将尸体传递到我的$http.delete路线上?

编辑:这是当我发送上面的请求时服务器正在记录的内容$http.delete

在此输入图像描述

数据似乎已发送,但我收到此控制台错误,但在使用 Rest 客户端时未收到此错误:

Object {data: "Json not valid to remove activity type from Project", status: 400, config: Object, statusText: "Bad Request"}
Run Code Online (Sandbox Code Playgroud)

javascript ajax angularjs

4
推荐指数
1
解决办法
2804
查看次数

标签 统计

ajax ×1

angularjs ×1

http ×1

javascript ×1

rest ×1