cookie都设不了,接下来还怎么开发?
环境重构:
1、后端前端分离(即后端和前端不在同一个项目形成跨域请求)
2、前端 AJAX 请求
3、后端使用的是Java、服务器使用的是Tomcat(后端用什么语言估计都一样)
需求:
1、总之就是要设置一个cookie给前端,通过这个cookie做后续工作。
2、我是因为要用到shiro所以必须要设置cookie。
问题描述:
当我们从 A网站 AJAX访问 B服务器 时,默认是不可以访问的,因为违反了浏览器同源策略。但是现在解决这个问题的方法很普遍了,可以去搜一下解决方案,这里遇到的问题是,当 A网站 AJAX访问 B服务器 时,B服务器试图在响应中给A网站设置cookie信息,告诉A网站要将这个cookie存起来,浏览器当然是没有成功。
问题思考:
当使用chrome这样的浏览器,当然F12是第一反应,这时候会发现我的请求成功了,并且200响应回来了,仔细查看后会发现,在响应中有set-cookie属性并且有值,这个值正是后台试图给前端设置的cookie值。浏览器实际上是接收到cookie值,但是这个cookie并没有设置到本地。
问题解决:
这个现象应该属于跨域设置cookie的问题,网上很多解决方案都是在ajax请求上加上一个属性,后台也要设置响应头属性,这里就不说这个方法了,我也没试过成不成。
还有一种现象就如我这样,使用的是tomcat部署java服务通常会在地址后面带上项目名,例如:www.A.com 访问服务器 www.B.com/MyProjectName。
因为看了一篇文章url: http://blog.csdn.net/zhouziyu2011/article/details/61200943,不是很懂,但是我后来将服务器的项目名给去掉了,就是直接访问www.B.com即可以访问服务器,cookie就设置成功了。