我在会话中存储和检索数据时遇到问题,如果我向会话添加数据的问题没有出现在下一页中,所以我必须再次添加它,这意味着如果从第一页添加数据就不会出现时间!!
$(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);
}
答案 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
]);