首页 > 解决方案 > 有没有办法让我使用 jQuery 将会话变量发送到另一个页面?(顺便说一句,我正在使用 Laravel)

问题描述

此函数成功后,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

标签: jquerylaravellaravel-blade

解决方案


当您使用 ajax 请求提交表单时,您调用 laravel 函数将数据存储在 db 中。成功保存数据后,您可以设置消息会话并在刀片文件中获取该会话。


推荐阅读