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中的用户凭据作为对象传递. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |