laravel如何在会话中保存输入值

时间:2017-11-02 17:27:49

标签: php laravel session

我在会话中存储和检索数据时遇到问题,如果我向会话添加数据的问题没有出现在下一页中,所以我必须再次添加它,这意味着如果从第一页添加数据就不会出现时间!!

 $(document).on('click', '.btn_getbids', function(e) {
  $.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
    }});
   e.preventDefault();
 var form = document.forms.namedItem("booking-form"); 
 var formData = new FormData(form); 
 $.ajax({
    type: 'POST',
    url: 'addItem',
    contentType: false, 
    data: formData,
    processData: false,
    success: function (data) {   },
    });});

控制器

 public function addItem(Request $request) {

$request->session()->put('country', $request->country);
$request->session()->put('administrative_area_level_1', $request->administrative_area_level_1);
$request->session()->put('locality', $request->locality);
$request->session()->put('datepicker', $request->datepicker);
$request->session()->put('pass_no', $request->pass_no);
$request->session()->put('vehicle_no', $request->vehicle_no);
$request->session()->put('day_no', $request->day_no);
    }

3 个答案:

答案 0 :(得分:0)

要在会话中存储数据,通常使用put方法或会话助手:

//通过请求实例...

$request->session()->put('key', 'value');

//通过全球帮助者......

session(['key' => 'value']);

Flash数据

有时您可能希望仅在下一个请求中将项目存储在会话中。您可以使用flash方法执行此操作。使用此方法存储在会话中的数据仅在后续HTTP请求期间可用,然后将被删除。 Flash数据主要用于短期状态消息:

$request->session()->flash('status', 'Task was successful!');

如果您需要保留闪存数据以满足多个请求,您可以使用重新刷新方法,这将保留所有闪存数据以获取其他请求。如果您只需要保留特定的闪存数据,则可以使用keep方法:

$request->session()->reflash();

$request->session()->keep(['username', 'email']);

答案 1 :(得分:0)

我建议您通过以下方式观看会话: https://github.com/barryvdh/laravel-debugbar,然后您就会轻松找到问题。

答案 2 :(得分:0)

Session::put([
'country' => $request->country,
'administrative_area_level_1' => $request->administrative_area_level_1,
'locality' => $request->locality,
'datepicker' => $request->datepicker,
'pass_no' => $request->pass_no,
'vehicle_no' => $request->vehicle_no,
'day_no' => $request->day_no
]);