forms - 使用 VueJS + Laravel 发送表单会导致 419 错误
问题描述
我在我的一个项目中使用了很棒的Laravel 5.7。虽然我在Laravel Blade视图中使用VueJS能够强大地操作可视化界面,但它不是SPA,即页面之间的导航是传统的导航,使用Laravel 路由。
在这种情况下,我想向 Laravel 发送一个表单,发送到一个典型的Laravelstore
控制器方法,使用标签的 route in actionform
属性。没什么特别的。
提交表单时会出现奇怪的行为,因为 Laravel 总是返回 419 错误,说:
抱歉,您的会话已过期。请刷新并重试
而且会话显然没有过期......
我知道它必须与xx_session
cookie有关:
- 我注意到我所有的请求都有一个
xx_session
cookie(正确)。 - 问题是 419 响应总是发送一个
Set-Cookie
标头,这会更改该 cookie 的值。每次我重新发送表单时,xx_session
都会更新为收到的最后一个表单,但另一个Set-Cookie
标题再次更改其值,它们永远不会匹配......
有任何想法吗?谢谢。
解决方案
推荐阅读
- jenkins - 在将 CruiseControl.Net 迁移到 Jenkins 以进行 MSTest 自动化项目时需要帮助
- ruby - 安装 Jekyll 时出错:无法构建原生扩展 | macOS 大苏尔
- c++ - 如何在构造函数中初始化共享指针?
- rest - 谷歌浏览器和类似浏览器是否支持标准下载的范围标头
- angular - Kendo UI Angular Grid 选择 onSelectionChange 事件中的所有指示器
- javascript - 在 Vue JS 中使用 Axios 将 json 数据发布到 API 的问题
- ajax - 使用搜索重绘数据表
- android - 使用电子邮件链接通过 Firebase 进行身份验证(在 Android 中)
- python-3.x - Django 查询数据优化
- github - 无法访问存储库工作流文件中的组织机密