AJAX请求未在Laravel中设置会话变量

时间:2018-08-08 20:33:45

标签: ajax laravel session

我试图通过Laravel中的AJAX请求设置会话变量。 很简单,但似乎我错过了一些东西。我的页面在布局Cookie协议框中。单击此框内的“我同意cookie”按钮后,AJAX请求在控制器中进行,它将设置会话变量。如果设置了该会话变量,则它将始终隐藏cookie协议框。

我在前端的ajax请求:

<script>
        jQuery(document).ready(function(){
            jQuery('#accept_cookies_btn').click(function(e){
                e.preventDefault();
                $.ajaxSetup({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
                    }
                });
                jQuery.ajax({
                    url: "{{ url('/acceptcookies') }}",
                    method: 'post',
                    data: {

                    },
                    success: function(){
                        $("#cookies_con").hide();
                    }});
            });
        });
    </script>

控制器:

class cookiesController extends Controller
{
    public function acceptcookies(Request $request){
        $request->session()->put('cookies', 'agreed');
        return 'success';
    }
}

PS:AJAX的响应良好,因为#cookies_con元素在此之后隐藏。基本上,问题在于它不会设置会话变量(因为如果稍后浏览,则不会设置此会话变量,即,我不能将其用作隐藏cookie协议框的条件)。

PS2:其他所有设备都按顺序。

0 个答案:

没有答案