java的web项目中由于前后台分离导致每次请求springmvc的session都不一样,所以无法在session中保存数据
解决方法:
ajax 跨域请求前台处理,红色字段为ajax处理跨域属性
function login() {
$.ajax({
url:"http://citygame1234.4kb.cn/CityServer/w/login",
type:"post",
async:"false",
dataType:"json",
crossDomain: true,
xhrFields: {
withCredentials: true
},
success:function(data){
console.log(data);
}
});
}
ajax 跨域请求 java后台filter处理
public class MyFilter implements Filter{
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) arg1;
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Origin, Accept, x-auth-token,Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");
arg2.doFilter(arg0, arg1);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
相关网址: https://blog.csdn.net/djl0906/article/details/70238847