ajax跨域提交以及session丢失问题

需求:
A域有注册功能,页面为html,注册需要AJAX到B域验证用户名.
水平有限,知识匮乏,试了很多次才发现$.post(),并不能支持跨域数据提交,提交过去的话,数据是空的,后来发现$.$.getJSON可以支持

var paramUser={'registDO.id':id};
$.getJSON(
"http://XXXXXXX:8080/user/user_regist.do?jsoncallback=?",
paramUser,
function(json){
if(json.flag=='ok'){
...
...
}else{
...
...
}
}
);

java端返回数据写法

String jsoncallback=Struts2Utils.getParameter("jsoncallback");
PrintWriter out = Struts2Utils.getResponse().getWriter();
out.print(jsoncallback+"({flag:'ok');

注意ok要加单引号,数字则不用
摸索了老半天,这部分终于做好了,然后注册成功跳转页面,发现用户不是登陆状态,跟进代码,发现session丢失了...崩溃ING~
在网上查了下资料,在action中加上下面代码,问题解决

Struts2Utils.getResponse().setHeader("P3P","CP=CAO PSA OUR");

不过这样写有个安全隐患,A域能控制B域的session,那如果有恶意程序来破坏更改Session不知道是否会出问题...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值