为什么使用 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]);
});
但是如果直接访问路由就能获取得到
这是什么情况,求解??
是不是跨域了?
session差不多是快埋进棺材的技术了,JWT了解下,无状态
@鲤子 不存在跨域这个问题
@tfzh 呃。。。这个主要是为了解决验证码,因为验证码是储存在session里面的
试试\session
@66 已经尝试过了,还是不行
该问题主要是在使用 mews-captcha这个验证码包,当用接口验证的时候就获取不了session
可以啊
那只有一种可能就是你的缓存没 存进去。。或者取错KEY了
@66 我看到了,原来是我session 的s大写了,但是不知道为什么就不行了,你试下把session 改成 Session
用Session 也可以 但是需要注册 中间介 不推荐使用 生成 路由缓存的时候会报错,尽量不要在路由里使用闭包,也会报错
@66 没有的,只是在里面测试而已
@66 谢谢大兄弟了
@狗达 您好! 请问你最后怎么解决这个问题的?