获取请求后的服务器端重定向



比方说,我们在web工具中处理一个项目,一段时间后,应用程序希望在会话到期前将该项目保存为备份。

对于保存,我们使用fetch方法(可以是AJAX、Axios等(,并向控制器函数发布请求,在该函数中,我们保存项目,清除会话,并希望重定向到主页。我在Laravel中尝试过这种情况,但当重定向时间到来时,会话数据会被清除,但服务器不会重定向到主页。

是因为fetch和其他类型的异步函数总是在等待响应吗?

重定向意味着"您要求的内容可以在这里找到",而不是"在主浏览器窗口中加载此URL"。

如果浏览器请求URL以在主浏览器窗口中显示(例如,单击了链接(,则它将遵循重定向并在主浏览器窗中显示。

如果浏览器计划做其他事情(例如渲染<img>(,那么它将遵循重定向,在新的URL处获取图像,并在<img>的位置渲染该图像。

Ajax也是如此。您正在使用Ajax进行请求,因此浏览器会遵循重定向,并将新URL处的资源提供给JavaScript进行处理。

如果您想发出POST请求,在主浏览器窗口中加载一个新文档:提交一个表单,不要使用Ajax。

最新更新