为什么使用 Ajax 请求接口地址就不能获取 Session?

在使用Ajax验证验证码的时候发现如果是使用ajax发起请求就获取不了session

        function checkCode(captcha){
            $.ajax({
                url: api+'/code_captcha/check_code',
                type: 'get',
                dataType: 'json',
                data: {captcha:captcha},
                async : false,
                success:function(data){
                    if (data.code == '200') {
                        status = 1;
                    } else {
                        status = 0;
                    }
                },
                error:function(){
                    status = 0;
                }
            });
            return status;
        }
    Route::get('/code_captcha/check_code',function(){
        $res= Session('name');
        return Response()->json(['res' => $res]);
    });

file

但是如果直接访问路由就能获取得到

file

这是什么情况,求解??

喜欢悠闲独自在
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 13

是不是跨域了?

6年前 评论

session差不多是快埋进棺材的技术了,JWT了解下,无状态

6年前 评论
喜欢悠闲独自在

@鲤子 不存在跨域这个问题

6年前 评论
喜欢悠闲独自在

@tfzh 呃。。。这个主要是为了解决验证码,因为验证码是储存在session里面的

6年前 评论
66

试试\session

6年前 评论
喜欢悠闲独自在

@66 已经尝试过了,还是不行

6年前 评论
喜欢悠闲独自在

该问题主要是在使用 mews-captcha这个验证码包,当用接口验证的时候就获取不了session

6年前 评论
66

file
可以啊

file
那只有一种可能就是你的缓存没 存进去。。或者取错KEY了

6年前 评论
喜欢悠闲独自在

@66 我看到了,原来是我session 的s大写了,但是不知道为什么就不行了,你试下把session 改成 Session

6年前 评论
66

用Session 也可以 但是需要注册 中间介 不推荐使用 生成 路由缓存的时候会报错,尽量不要在路由里使用闭包,也会报错

6年前 评论
喜欢悠闲独自在

@66 没有的,只是在里面测试而已

6年前 评论
喜欢悠闲独自在

@66 谢谢大兄弟了

6年前 评论

@狗达 您好! 请问你最后怎么解决这个问题的?

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!