问题描述
我知道如何在表单和 ajax 请求中使用 Laravel CSRF 令牌。
我可以发出一次性的 ajax 请求并且它可以工作。
但是如果我非常快速地发出两个 ajax POST 请求(比如快速点击按钮两次),Laravel 会更改我的 CSRF 令牌,因此第二个请求失败。然后页面上的表单也会失败。
如果我每秒点击一次按钮,一切正常。只有快速或并发请求才能更改 CSRF 令牌。
有什么想法吗?
我使用的是 Laravel 8.21.0
解决方法
问题是我运行 Auth::login(user)
来在每个页面请求中登录我们中间件中的用户。事实证明 Laravel 不喜欢那样。
所以现在我只在用户实际登录时调用一次。
现在似乎可以工作了。