ajax 跨域请求没有带上cookie 解决办法

公司项目前后端分离。。 前端全部html 静态页面。。 后端java 接口服务 

由于前后端分离,出现跨域问题。 为了解决,我们使用jsonp 方式请求接口服务,暂时解决了跨域问题(使用jquery ajax type:jsonp 方式)。

某天前端发送一个请求,非常长,而甲方要求只能使用ie 浏览器,url请求长度要求 2083 。超了。。改为post 请求。

一切顺利,发送请求。。报错:没有登录。。调试发现是 cookie为空。

百度发现原来是浏览器安全原因。。局域跨域传送cookie .. 解决办法如下: 

$.ajax({type: 'POST',url:"",data:{},dataType:"JSON", 
        xhrFields: { withCredentials: true }, crossDomain: true, function(data){alert(data)}});
并且 java端
response.setHeader("Access-Control-Allow-Credentials", true);
response.setHeader("Access-Control-Allow-Origin", "www.xx.com");

  

  

参考:   http://blog.csdn.net/u010865433/article/details/52786677

原文地址:https://www.cnblogs.com/zhangchenglzhao/p/6610219.html