- A+
所属分类:Vue
昨天在家搞了一下午,在Springboot里设置了跨域,但还是一直报跨域。
配置如下:
package com.example.mybatis.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
@Configuration
public class CorsConfig {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*"); // 1允许任何域名使用
corsConfiguration.addAllowedHeader("*"); // 2允许任何头
corsConfiguration.addAllowedMethod("*"); // 3允许任何方法(post、get等)
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig()); // 4
return new CorsFilter(source);
}
}因为一直在报跨域的错,所以我一直以为是上面代码的问题,但是查了很多资料,上面的写法应该是没有问题的,感觉是前端的问题吧,vue里用axios是最简单的get请求,应该也没什么问题。后来晚上在床上用手机查时看到一篇文章说请求地址里如果不加http://的话,也会报跨域,突然想起我好像直接用的localhost,没有加http://,好吧,加上后问题解决。
