跨域问题的产生是因为,前端在一个服务器上独立一个端口,从这个端口像其他端口服务发起请求,会产生跨域问题;
一.在服务层添加 HttpServletResponse response (这个要在你每一个方法上面添加)
response.addHeader("Access-Control-Allow-Origin","*");
二.如果使用spring的情况下可以在controller层上面添加一个注解 @CrossOrigin (这个只需要添加在服务层)
三.添加nginx解决跨域问题。在nginx配置文件上面添加
- add_header Access-Control-Allow-Origin *;
- add_header Access-Control-Allow-Credentials true;
- add_header Access-Control-Allow-Methods GET,POST;
服务器默认是不允许跨域的,给Nginx服务器配置 Access-Control-Allow-Origin *; 后的含义,表示服务器可以接受所有的请求源,即接受所有跨域的请求。但是这样设置在项目中并没有解决跨域,但是设置了具体的项目域名,比如 http://a.xxx.com 后,就可以跨域了;这有些不符合常理,但是情况确实如此;