跨域只有在前端才会发生,因为浏览器的同源策略导致

JSONP

比较老的方案

前端: dataType 为 jsonp , 使用 callback 方式 后端:后端执行 callback ,将值返回给前端

只支持 get 请求

前后端都需要写代码

CORS

只需要写后端的代码

前端直接 ajax 发起跨域请求就可以完成

@crossOrigin 允许单个接口
实现一个config bean , 添加 addCrossMappings
corsFilter 可以限制所有的接口支持

需要浏览器支持 , 即 需要浏览器帮助添加信息 , 第一次发起 option 请求 , 第二次才传真实的跨域请求

Nginx 反向代理 - 最推荐

只需要在 Nginx 配置一下