跨域访问session共享问题

本文介绍了一种解决前后端分离环境下跨域访问和session共享的方法。通过在前端使用jsonp进行ajax请求,并在服务器端配置负载均衡及session共享,同时调整Tomcat设置以支持跨域请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要解决:前后端分离,通过ajax请求服务器,后端实现负载均衡,实现跨域访问session共享问题。

1、在ajax请求中添加:dataType:"jsonp"和jsonpCallback:"jsonpCallback"

   $.ajax({
url: URL_GET_API,
type: "POST",
data: _param,
dataType:"jsonp",
jsonpCallback:"jsonpCallback",
success: function(data){
_callback(data, _obj);
},
failure: function(){
_data = {};
_data[JSON_KEY_CODE] = RESPOND_CODE_AJAX_FAILURE;

_callback(_data, _obj);
}

});

2、服务器在接受请求处理完业务时将jsonpCallback原样返回

3、配置Tomcat,在$Tomcate_home/conf/context.xml中添加,其中xxx.com为顶级域名

    <Context useHttpOnly="true" sessionCookiePath="/" sessionCookieDomain="xxx.com"/>

   在$Tomcate_home/conf/server.xml中将下列注释打开

   <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

4、配置应用,在应用/WEN-INF/web.xml中增加<distributable/>

5、在应用/META-INF/中添加配置文件contxt.xml,文件内容为

    <?xml version="1.0" encoding="UTF-8"?>
   <Context useHttpOnly="true" sessionCookiePath="/" sessionCookieDomain="xxx.com"/> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值