前后端分离解决跨域问题

产生愿意:

        跨域问题的产生是因为,前端在一个服务器上独立一个端口,从这个端口像其他端口服务发起请求,会产生跨域问题;


前端报错如下:

前后端分离解决跨域问题_第1张图片


 

 解决方法:

一.在服务层添加 HttpServletResponse response  (这个要在你每一个方法上面添加)

response.addHeader("Access-Control-Allow-Origin","*");

前后端分离解决跨域问题_第2张图片


 

二.如果使用spring的情况下可以在controller层上面添加一个注解 @CrossOrigin   (这个只需要添加在服务层)

前后端分离解决跨域问题_第3张图片

 


三.添加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 后,就可以跨域了;这有些不符合常理,但是情况确实如此;


 

 

你可能感兴趣的:(前端,java,服务器,servlet,spring,boot)