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

被折叠的 条评论
为什么被折叠?



