【问题标题】:How to echo session variable in laravel?如何在 laravel 中回显会话变量?
【发布时间】:2021-02-10 05:27:33
【问题描述】:

我创建了一个会话变量,它在 laravel Blade 中使用平面 javascript 的值。但是当我试图在我的刀片页面中获取该会话变量值时,它什么都不显示。我的代码是:

@extends('ui.layout.app')

@section('content')
 <div class="get-session">

    <select id="setSession" onchange="myFunction()">
      <option value="5">5</option>
      <option value="10">10</option>
    </select>
    <p id="get_session"></p>
    here : {{ Session::get('currency_code')}}
 </div>

 <script type="text/javascript">
    function myFunction() {
      var x = document.getElementById("setSession").value;
      sessionStorage.setItem("currency_code", x);
      document.getElementById("get_session").innerHTML = "You selected: " + x;
    }
  </script>  
@endsection

【问题讨论】:

  • 改用session()-&gt;get( ... )。确保打开 PHP 错误报告。
  • 你能展示将数据放入会话的代码吗?
  • 我正在使用 javascript 将数据放入会话。您可以在 myFunction(){...} 中找到我上面问题中的代码。我已经尝试过 session()->get( ... )

标签: javascript laravel session


【解决方案1】:

我猜你是把会话变量放到普通的 php(基于 cookie)会话中。但是你想通过使用 laravel-session 门面来接收它们。那不一样!

您可以配置 laravel 以使用不同的“会话驱动程序”作为“文件”、“cookie”甚至像“redis”这样的队列服务。

这就是为什么你的 Session->get(...) 不会在没有 laravel 的情况下恢复你设置的值。

要解决创建用于将数据保存到会话的路由的问题,请通过 javascript post call 将其传递给该路由。使用 laravel Storage 门面将该请求有效负载放入会话中。比在您的视图中显示它。

另见https://laravel.com/docs/8.x/session

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    相关资源
    最近更新 更多