现在前后分离已经是很常见的一种开发方式了,所以难免会遇到跨域问题,之前用的比较多的是jsonp(本人表示没用过),之前我遇到这种问题一般都是用nginx做反向代理实现跨域请求。
不过springmvc4.2版本增加了对cors的支持,所以解决办法就更简单了,后端一个全局配置轻松解决跨域问题,比之前的都简单轻松。 cors协议不懂的可以百度哦,这里就不废话了。
由于现在大部分项目都是基于springboot做的,目前微服务的开发模式也很火,所以这块就用springboot做案例,用xml配置方式的自己看着改。
1、 全局配置
@Configuration public class WebAppConfigurer extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") //.allowedOrigins("http://192.168.89.89") //rest集中请求方式 .allowedMethods("GET", "POST","DELETE") .allowCredentials(false).maxAge(3600); } }
2、单个接口配置
@CrossOrigin(origins = "*", maxAge = 3600) //* 可以改成ip地址 @PostMapping("save") public ResponseEntity<Result> addNote(@RequestParam String noteName){ }