2017-09-25 71 views
0

通过一个ajax调用与爱可信(Ajax库)我在Laravel 5.5设置会话变量:Laravel设置会话变量正确

session()->put('can_visit', true); 

然而,当我在接下来的GET请求(不使用Ajax)检查该变量存在:

return session()->has('can_visit'); 

结果总是错误的,为什么?有没有更好的办法?

回答

0

只需设置这样的:

session(['can_visit' => true]); 

设置该键的默认值:(可选)

session('can_visit', false); 

检查是否有与会话:

session()->has('can_visit'); 

然后取它:

$canVisit = session('can_visit'); 
var_dump($canVisit); 

Laravel是做繁重的你:

function session($key = null, $default = null) 
{ 
    if (is_null($key)) { 
     return app('session'); 
    } 

    if (is_array($key)) { 
     return app('session')->put($key); 
    } 

    return app('session')->get($key, $default); 
} 
+0

感谢您的答复。但它不适用于ajax调用。请在此处查看我的代码:https://github.com/larsjanssen6/underconstruction/tree/master/src – Jenssen

+0

您尝试了哪些调试? 'dd($ data)'在每次返回之前查看返回的是什么以及调用哪些方法?也许它不是一个问题,而是一个设置问题等 – emotality

+0

是的,我已经做了几次,但会话变量不存在了。这很奇怪。 – Jenssen