当Laravel 4.2尝试在使用Laravel会话刷新某些数据的刀片中设置JS变量时,我遇到了Laravel 4.2的一些奇怪现象。这很简单,我不知道我已经错过了什么......Laravel会话变量在刀片@if
目标:在用户注册后触发一个Javascript网站浏览。 方法:将一个welcome_tour变量写入会话,然后在页面刷新时设置一个JS布尔值,然后在JS中开始浏览。
我的寄存器功能总结与会话设置:
Session::flash('welcome_tour', TRUE);
而且我测试,它的回升,并在我的刀片以下正确设置JS变量:
<script>
@if(Session::has('welcome_tour'))
var welcome_tour = true;
@else
var welcome_tour = false;
@endif
</script>
{{ var_dump(Session::all()) }}
的结果HTML中的JS代码段表示welcome_tour未找到:-(
<script>
var welcome_tour = false;
</script>
但是打印到由所述的var_dump屏幕会话细节表明它是正确设置:
array (size=4)
'_token' => string 'HHBowu6wdYlIKy4kFiWYwCe4lQRkFbG7jdNDlYXQ' (length=40)
'flash' =>
array (size=2)
'old' =>
array (size=1)
0 => string 'welcome_tour' (length=12)
'new' =>
array (size=0)
empty
'login_82e5d2c56bdd0811318f0cf078b78bfc' => string '1137' (length=4)
'welcome_tour' => boolean true
会话变量如何既可以是有和没有存在?
如果您打开浏览器控制台并输入'welcome_tour',会发生什么情况?另外,当您在浏览器中查看页面源代码时,HTML中是否有'welcome_tour'? – Frank
谢谢弗兰克。奇怪的是,控制台告诉我,welcome_tour被正确设置为true。我想这足以让我触发我的旅程,但这只是一个奇怪的事情,HTML源代码将它设置为false,但它在别的地方被神秘地设置为真。 – Fixspec
你是否可以在多个地方设置'welcome_tour'的值?所以你正在看HTML源代码的错误部分? – lukasgeiter