【发布时间】:2019-04-26 09:04:15
【问题描述】:
我有两个使用 jQuery 的 post call 方法。
$.post('/search/session1',post);
$.post('/search/session2',post);
每次通话都会产生会话数据。
public function session1(Request $request){
Session::put('session1','1');
}
public function session2(Request $request){
Session::put('session2','2');
}
首先创建 session1 。但是当调用 post2 时, session2 创建和 session1 删除!!!这很奇怪。我用的是 laravel 5.4。
更新:
我在调用 Ajax 之前创建了两个会话,而不是在 post2 调用中删除!每次只删除 session1 !!!
更新 2
我在以下 3 种 laravel 方法中保存了会话,但仍然删除了 session1!
Session::put('session1','1')
session('session1',1)
$request->session()->put('session1','1')
【问题讨论】:
-
通过您的编辑,我的回答不再适用。这无济于事。所以我删了,好吗? :)
-
这是因为您发送两个单独的请求并且存在 竞争条件。避免通过 AJAX 调用进行会话操作。
-
谢谢。但如何?这意味着我不能使用 ajax 调用会话?
-
它对所有驱动程序(数据库、redis)的限制;阅读其中任何一个github.com/laravel/framework/…