【发布时间】:2015-12-25 20:41:30
【问题描述】:
我正在使用 Laravel 5(“laravel/framework”版本是“v5.1.16”,Homestead Ubuntu),会话驱动程序 = 'file'。
我注意到,如果触发了一些异步 AJAX 请求 (jQuery),例如。在自动完成搜索表单字段中,会话变量就消失了。
只有异步 AJAX 请求才会发生这种情况,当异步选项设置为 false 时,此问题不再存在。
此外,当 session driver 设置为 'cookie' 并且 async 设置为 true 时,每个 AJAX 请求都会创建一个新的 cookie,因此 10 个请求将有 10 个 laravel cookie 等。
有什么建议吗?除了不使用异步请求之外,我没有找到任何体面的原因或解决方案。
相关问题,似乎已修复。
【问题讨论】:
-
我遇到了完全相同的问题。我每隔几秒钟就有一次脚本检查新消息。在给定数量的请求之后,会话 id 更改并且所有会话变量都丢失了。不知道为什么,我找不到任何好的答案。你解决了吗?
-
很遗憾没有,我使用 cookie 而不是 session 来保存一些简单的数据。
-
这是一个已知问题 - 没有解决方案:github.com/laravel/framework/issues/8172 - 问题是没有人能够提供可复制的情况 - 这似乎是随机的、罕见的并且没有明显的原因。
-
它们实际上似乎并没有被修复,第一个问题被关闭为“已知限制”,第二个问题被关闭为“这是你的应用程序结构不好”。
标签: php jquery ajax session laravel-5