Vue axios访问后台接口跨域SpringBoot设置跨域不起作用

  • 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://,好吧,加上后问题解决。

ZPY

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: