HTTP标准禁止在POST请求后遵循重定向,无需用户确认。我发出jQuery.ajax
方法POST请求,服务器通过重定向来回答。
浏览器使用GET方法重新发出请求?为什么?用GET而不是POST发出请求通常没有意义。
我尝试使用Firefox 32.0.3
答案 0 :(得分:0)
在POST查询后需要重定向以中止输入和重新发送用户的信息。对于您的任务,您必须在POST查询后使用服务器端的状态代码302或303。如果浏览器看到这样的状态代码,重定向将不会释放!
答案 1 :(得分:0)
JQuery依赖于XmlHTTPRequest,它会自动跟随重定向,不管它是否相似。 (在XmlHTTPRequest中允许更多控制的功能请求现在已有很多年了,但显然,规范作者和浏览器供应商并不想去那里)。
如果您不希望重定向的请求使用GET,则必须使用HTTP状态代码307或308。