美文网首页
关于Ajax异步请求的跨域以及Session问题

关于Ajax异步请求的跨域以及Session问题

作者: hbhey | 来源:发表于2018-06-03 11:23 被阅读118次

根据浏览器的保护规则,跨域时候的SeeionId是不会被保存下来,即我们的每次Ajax请求都会是一个新的请求,都会产生新的SeesionId,后台自然不能根据前台传过来的SeesionId判断你是否处于登录状态。

我们可以对前台的Ajax以及后台进行相应的修改,就可以对上述问题进行完美解决:

一:前端Ajax请求

$.ajax({    

    url:url,

    xhrFields: {      

         withCredentials: true   // 加上此部分

    },  

    crossDomain: true,     // 加上此部分

    success:function() {

    }, 

    error:function() {

    }

});

二:Controller部分代码

@RequestMapping(value="XXXX.do")

@ResponseBody

public String XXXXX( HttpServletRequest request, HttpServletResponse response){

// 解决跨域

response.addHeader("Access-Control-Allow-Origin",request.getHeader("Origin"));

// 跨域的session 保证同一性

response.addHeader("Access-Control-Allow-Credentials","true");

///

   somecode

///

参考:https://www.cnblogs.com/renhaisong/p/6892341.html

https://blog.csdn.net/z_sk789/article/details/51460173

相关文章

网友评论

      本文标题:关于Ajax异步请求的跨域以及Session问题

      本文链接:https://www.haomeiwen.com/subject/luhjsftx.html