微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax – 带有正文的Angular $http.delete请求

所以我查看了这篇文章
is an entity body allowed for an http delete request

这似乎表明,虽然在某些概念层面上做“好”,但在实践中它可能不可行,因为浏览器只是忽略它.

我有一些express.js身份验证中间件我需要通过,我不想将我的用户详细信息附加到url params.我需要进行身份验证的所有其他请求都会将这些详细信息附加到请求正文中.

有没有办法强迫这个?我看到其他一些帖子,其中有些人似乎成功通过删除请求传递了一个正文.

我正在运行一个节点/ sails后端.它始终将正文记录为未定义的删除请求.有没有办法修改

解决方法

sails API从params中提取删除的对象的id,因此我们必须将id附加到url.

但是如果我想在处理删除请求之前在服务器端验证中传递一些身份验证详细信息,我不能只将它们作为删除请求的第二个参数添加到对象中,就像你可以使用$http.post一样.

Angular的post方法自动将我们插入的任何内容作为第二个参数分配给请求的主体,但delete方法不会.

Angular的$http.delete方法允许我们提供一个配置对象作为第二个参数,通过它我们可以访问’data’属性.这与通过它的第二个参数发布的方式相同.

因此,如果我们需要将主体附加到删除请求,我们可以使用以下内容

$http.delete('/api/' + objectToDelete.id,{data: {id: currentUser().id,level: currentUser().level}});

这会将对象传递给url参数中的delete id,并将body中的用户凭据作为对象传递.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐