带有重定向的javascript获取删除请求

javascript fetch delete request with redirect

本文关键字:获取 删除 请求 javascript 重定向      更新时间:2023-09-26

所以我最近一直在使用fetch进行ajax调用,发现DELETE-在我的情况下使用302重定向的请求实际上一直在向服务器重定向到的目标url发送删除请求。

根据https://fetch.spec.whatwg.org/#http-正在重定向的类型为POST的重定向获取请求应该使用GET来获取即将到来的url。

所以,对于这个问题,删除/放置的行为不应该和这里的帖子一样吗?或者我错过了什么?这是我可以在不恢复到旧的XMLHttpRequest或手动处理重定向的情况下解决的问题吗?

将302响应的请求类型从POST更改为GET是旧浏览器存在的一个错误,现代浏览器为了向后兼容性而继续实现这个错误。

由于它们不能发送DELETE请求,fetch正确地实现了302,并将其视为实际的重定向。

由于要转换为GET请求,请改用303 See Other响应。(在HTTP1.1中引入了303和307,以处理302的模糊性)。

可以使用GET方法在另一个URI下找到对请求的响应。当接收到对POST(或PUT/DELETE)的响应时,客户端应假定服务器已接收到数据,并应使用单独的GET消息发出重定向。

--https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection