【发布时间】:2022-11-25 06:54:43
【问题描述】:
我试图了解 InertiaJS 如何使用 back() 处理 Laravel 重定向。
在 InertiaJS 文档中,此部分:
重定向
通过或手动发出非 GET Inertia 请求时,请确保始终以正确的 Inertia 响应进行响应。
例如,如果您正在创建一个新用户,让您的“商店”端点返回一个重定向回标准 GET 端点,例如您的用户索引页面。
Inertia 将自动跟随此重定向并相应地更新页面。这是一个简化的例子。
例如,在 Laravel 中,当尝试重置用户密码时,用户单击“电子邮件重置链接”。服务器上的此操作以
back()->with()结尾。我在 DevTools 中研究了这个请求,我可以看到一个带有 Location 响应标头的 302 响应。似乎惯性正在拦截此 302 响应并请求指定的位置。
一般来说,据我所知,302 由 Brower 处理,但是,在这种情况下,在 302 请求之后,我看到一个 GET 请求发送到服务器,请求标头为
'x-inertia': true。是真的 InertiaJS 处理这个还是浏览器向 Location 标头中指定的 URK 发送 GET 请求并附加导致 302 的先前请求的所有标头?
感谢你的帮助,
账单
【问题讨论】: