为什么使用 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

这是什么情况,求解??

喜欢悠闲独自在
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 13

是不是跨域了?

5年前 评论

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

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

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

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

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

5年前 评论
66

试试\session

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

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

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

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

5年前 评论
66

file
可以啊

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

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

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

5年前 评论
66

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

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

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

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

@66 谢谢大兄弟了

5年前 评论

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

5年前 评论

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