javascript使用重定向获取删除请求

时间:2016-07-24 20:21:24

标签: javascript fetch

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

根据https://fetch.spec.whatwg.org/#http-redirect-fetch类型POST的请求,正在重定向的GET请使用XMLHttpRequest来获取即将发布的网址。

所以对于这个问题,不应该删除/放置行为与发布在这里的方式相同吗?还是我错过了什么?这是我可以解决的问题,而无需恢复到良好的旧{{1}}或手动处理重定向?

1 个答案:

答案 0 :(得分:0)

将请求类型从POST更改为GET以获取302响应是旧浏览器所具有的错误以及现代浏览器为了向后兼容性而继续实施的错误。

由于他们无法发送DELETE请求,因此获取正确实现302s并将其视为实际重定向。

由于您要转换为GET请求,请改用atm("john doe", 1234, 1000); 响应。 (在HTTP 1.1中引入了303和307来处理302的歧义)。

  

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

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