最近在在跟前端的哥们写一个小项目,我们采取的是比较暴力的前后端分离开发模式
- 后端只提供 ajax json 格式的数据接口,
- 前端解析数据,渲染
- 相当于 后端和前端分开部署在不同的服务器上
第一个问题
- ajax 跨域,目前后端解决方案:
- res.setHeader(“Access-Control-Allow-Origin”, “前端站点 ip”);
- 这种和 jsoup 都比较常见,主要的疑惑是是否会遇到安全问题
第二个问题
- cookie 跨域
- 场景重现:我后端用的 java,如果在我后端服务器的站点*问 ,浏览器上的 cookie 能存储到了 jsessionid,session 功能无误,但是如果在前端服务器上的站点,每次在站点部署的前端页面里发送 ajax 请求,后端则会识别不了,每次都认为是一个新的客户端访问,http response header 里都会 set cookie
目前的解决方案:主要的疑惑是是否会遇到安全问题
后端: 设置响应头 res.setHeader(“Access-Control-Allow-Credentials”,”true”);
- 前端处理:
$.ajax({
url: 'url',
xhrFields: {
withCredentials: true
},
crossDomain: true,
success:function(data){
console.log(data)
}
})
})