如何通过Laravel 5.4中的Session方法输入值?

时间:2017-06-14 11:54:16

标签: javascript laravel

我试图从我的输入中传递一个值来构建一个过滤器,我需要获取所有值,传递给我的控制器并进行操作,我输入了输入并创建了有关Controller的所有内容,但由于某种原因,我的会话没有得到我在字段中指定的值。我只打了一个例子,因为代码很长并且在所有字段中重复逻辑。

例如:

我需要获得'codigopedido'值,所以我用这些属性输入了输入:

<input type="text" class="form-control" name="codigopedido" id="codigopedido" placeholder="" value="{{ session('codigopedido') }}">

我在控制器中创建了一个函数来操作该值

public function search(Request $request)
    {
        $order = Order::query();
        if ($request->isMethod('post'))
        {
          $codigopedido;
          $codigopedido = $data->codigopedido;
          session(['codigopedido' => $codigopedido]);

       if (strlen(session('codigopedido')) > 0)
        {
           $order = $order->where('erp_site', session('codigopedido'));
        }
        $content = $order->paginate(20);

        if ($request->isMethod('post'))
        {
            return view('admin.order-table')->with('order', $content);

        } else
        {
            return view('admin.order')->with('order', $content);
        }

    }

在我的JavaScript文件中:

$(document).ready(function() {
$(document).on('blur', '#codigopedido', function() {
        var codigopedido = $('#codigopedido').val();
        searchRequest['codigopedido'] = codigopedido;
        doSearch();
    });
});

function doSearch() {
    $.post(postSearch, {
            'search_database': JSON.stringify(searchRequest),
            '_token': $('meta[name=csrf-token]').attr('content'),
        }
        , function(data) {
            $('#order-table').html(data);
        });
}

在我看来:

<script src="{{ asset('assets/js/OrderSearch.js') }}"></script>
  <script>
      var postSearch = '{{ route('order::searchPost') }}';
      var searchRequest = {
          'codigopedido': '{{ session('codigopedido') }}',
      };
  </script>

我检查了我的会话得到了什么值,那就是结果:

a:11:{s:6:"_token";s:40:"TngqBg13IFapNDmM8jGfTpLU0F1IDvsfeqEJmg01";s:6:"_flash";a:2:{s:3:"new";a:0:{}s:3:"old";a:0:{}}s:9:"_previous";a:1:{s:3:"url";s:35:"http://localhost:8000/admin/product";}s:18:"cartalyst_sentinel";s:32:"SE3m6CuxzCRFQafdZM6BwZ2oiShiFcsV";s:9:"descricao";s:0:"";s:5:"model";s:0:"";s:6:"status";s:0:"";s:11:"distributor";s:0:"";s:5:"stock";s:0:"";s:9:"categoria";s:0:"";s:5:"image";s:1:"0";}

出于某种原因,会话只获取来自另一个过滤器的值,任何建议吗?

1 个答案:

答案 0 :(得分:0)

这看起来像一个序列化的对象。您可以使用$ data-&gt; toJson()或$ data-&gt; toArray()轻松将其转换为json对象或数组。