У меня проблема с хранением и извлечением данных из сеанса, проблема, если я добавил данные в сеанс, не появляется на следующей странице, поэтому я должен добавить его снова, что означает, что данные не появляются, если добавляются с первого раза !!
$(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);
}
Чтобы сохранить данные в сеансе, вы обычно будете использовать метод 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']);
Я бы порекомендовал вам посмотреть вашу сессию через:
https://github.com/barryvdh/laravel-debugbar , тогда вы легко найдете проблему.
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
]);