Laravel Как очистить сессию после отображения на конкретной странице

Я могу сохранить входное значение в сеансе и отобразить его в блейде, но когда я вернусь к форме и добавлю новый элемент, предыдущий элемент все еще находится в сеансе и не может отобразить новый !! Я пытался добавить забыть в сеанс, но не сработал, я использую Ajax для передачи значения в контроллер

$(document).on('click', '.btn_getbids', function() {
$.ajax({
type: 'post',
url: 'addItem',
data: {
'_token': $('input[country=_token]').val(),
'country': $('input[name=country]').val() },
success: function(data) {
}, });
$('#country').val('');});

контроллер

  public function addItem(Request $request) {

$request->session()->put('country', $request->country);

}

customer.blade

    <div class="alert alert-success">
{{Session::get('country')}}
</div>

1

Решение

Попробуйте использовать flash метод

$request->session()->flash('country', $request->country);
0

Другие решения

Вы должны попробовать это добавить ниже код в вашем контроллере:

if($request->session()->has('country') && $request->session()->get('country') != '') {
$request->session()->forget('country');
} else {
$request->session()->put('country', $request->country);
}
1

если я правильно понял,

session->flush();

смоет все данные сеанса, вместо этого используйте

session->forget('key');

с помощью параметра key вы указываете, какие данные вы хотите очистить …

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector