请求后台验证码接口,获取验证码和验证码校验的接口,校验时总是获取不到数值,就是两次的SESSIONID不一样
导致前端验证码数据传到后台,却取不到后台存储的验证码,无法进行校验
在请求中加入一个 withCredentials: true 就行了,意思就是跨域带cookie请求
Angularjs请求示例
可以实现
举个栗子(用的jquery的ajax方法)
<script type="text/javascript" src="jqueryminjs"></script>
js
------
<script type="text/javascript">
$ajax({
url:'dophpact=start',
type:'POST',
data:{
'val':$('#session_value')val() //向后台传值,具体为$_POST['val'],它的值为id号为session_value的网页元素的值
},
success:function(){
alert('session赋值成功');
}
});
</script>
dophp
---------
session_start();
if($_GET['act']=='start'){
$_SESSION['xxx']=$_POST['val']; //这里应当检查val的值是否合法
}
你的意思是AJAX访问被上面拦截器拦截之后获取不到session吧?
把AJAX访问代码贴出来看看,除非是脚本代码写得不兼容,要不然怎么只有火狐下不能访问呢。你可以用firefox下的firebug,进行断点调试,很好用。
以上就是关于“Ajax请求后台,后台两次session不一致”问题解决全部的内容,包括:“Ajax请求后台,后台两次session不一致”问题解决、ajax 中 怎么给Session 赋值、spring mvc 拦截 后 ajax请求 获取不到session等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)