gpt4 book ai didi

php - Blade @if 中的 Laravel session 变量

转载 作者:可可西里 更新时间:2023-10-31 23:30:21 25 4
gpt4 key购买 nike

当我尝试使用 Laravel Session 在 Blade 中设置 JS 变量来刷新一些数据时,我在 Laravel 4.2 中遇到了一些奇怪的事情。这很简单,我不知道我错过了什么......

目标:在用户注册后立即触发 Javascript 网站浏览。方法:将一个 welcome_tour 变量闪存到 session ,然后在页面刷新时设置一个 JS bool 值,从而在 JS 中启动游览。

我的注册函数以 session 设置结束:

Session::flash('welcome_tour', TRUE);

我正在测试它是否已被拾取并使用我的 Blade 中的以下内容正确设置 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 打印到屏幕上的 session 详细信息表明它已正确设置:

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

Session 变量如何既存在又不存在?

最佳答案

尝试使用类似的东西。

<script type="text/javascript">
<?php
if(Session::has('welcome_tour')){
echo "welcome_tour = true";
}else{
echo "var welcome_tour = false";
}
?>
</script>

并尝试 dd(Session::has('welcome_tour')) 来验证输出是否符合条件。可能是 session 有返回 false 的方法。

关于php - Blade @if 中的 Laravel session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29649460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com