最近在做项目时,发现vue前端的登录接口使用axios连接服务器实现登录功能时,每次请求后端服务器所保存的Session对象id都不相同,也就是说前端请求服务器所得到的Seesion对象无法保存下来。
上网查询后发现是跨域问题,也就是说请求的发出点的URL与所请求的URL不同源。(所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port))。
那么如何解决跨域问题呢,目前网络上主要有两种解决方案:
1.允许使用cookie,携带session信息,保持session的一致性。
在vue项目中的main.js中添加(前提是已引用axios):
axios.defaults.withcredentials = true; //允许使用cookie
在后端代码中同样允许使用cookie(以SpringMVC为例)
//作为Controller类的注解