Есть ли способ отправить переменную сеанса на другую страницу с помощью jQuery? (Кстати, я использую Laravel)

#jquery #laravel #laravel-blade

Вопрос:

После того, как эта функция будет выполнена успешно и функция else станет истинной. Я хочу перенаправить его на другую страницу и отправить переменную сеанса на эту страницу.

     $(function(){
        $("#create_form").on('submit', function(e){
            e.preventDefault();

            $.ajax({
                url:$(this).attr('action'),
                method:$(this).attr('method'),
                data:new FormData(this),
                processData:false,
                dataType:'json',
                contentType:false,
                beforeSend:function(){
                    $(document).find('span.error-text').text('');
                },
                success:function(data){
                    if(data.status == 0){
                        $.each(data.error, function(prefix, val){
                            $('span.' prefix '_error').text(val[0]);
                        });
                    } else {
                        $('#create_form')[0].reset();
                        $(location).attr('href', "{{ route('product.home') }}")
                        alert(data.msg);
                    }
                }
            });
        });
    });
 

Затем я хочу захватить переменную сеанса «сообщение», как это, на этой новой странице. Затем покажите его.

 @if (session()->has('message'))
    <div id="session_message" class="m-10 text-center bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative" role="alert">
        <strong class="font-bold">Hey!</strong>
        <span class="block sm:inline">{{ session()->get('message') }}</span>
        <span class="absolute top-0 bottom-0 right-0 px-4 py-3">
        <a href="#" class="fa fa-times" id="close"></a>
    </div> 
@endif
 

Ответ №1:

Когда вы отправляете форму с запросом ajax, вы вызываете функцию laravel для хранения данных в базе данных. После успешного сохранения данных вы можете установить сеанс сообщения и получить этот сеанс в своем файле blade.