跨域就是浏览器的同源策略导致的,同源策略:协议+域名+端口,只要有一个不同,就不是同源。 当前端部署在Nginx上监听的端口是8000.但是后端部署在tomcat上监听8080端口,那么浏览器访问前端页面的时候是8000端口,但是要到后端8080端口获取数据,这就不是同源了,就报跨域错误。
将前端和后端同时用Nginx做反向代理,也就是浏览器访问的是nginx的端口,然后再代理到前端的端口,然后ajax获取数据的时候,还是通过nginx代理去访问后端,相当对于浏览器来说还是访问的nginx的端口。
将前端放到nginx,后端放到tomcat,然后nginx只代理后端端口,然后nginx再做跨域配置允许前端访问后端,同时允许携带cookie。
前端后端设置jsonp请求,但是这种请求只允许get请求
后端设置cros请求 就是加@Cros注解