2017-09-25 76 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