1.后端处理(这里确定的是java处理方式,不确定别的语言处理是否也是这个方式):
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
存在问题:
上面方式设置可以实现跨域请求,但是不支持Cookie,从而导致session也无法使用。
解决方案:
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Credentials", "true");
使用cookie时 Access-Control-Allow-Origin 不可以设置为*;必须设置为具体值。
ajax 请求时需要设置withCredentials:true
2.前端处理方式
2.1.黑科技:https://blog.****.net/zm_miner/article/details/108448527
2.2 配置charles
2.3修改webpack.config.js配置,做代理
2.4修改vue.config.js配置,做代理
3.前后端配合处理,使用jsonp请求