前后端分离axios请求跨域问题
以前都没有什么问题这次重新做前后端分离时遇到了诡异的bug----allow credentials == true 和 Access-Control-Allow-Origin * 不能同时存在
网上有好多解决办法貌似都不太符合我的问题琢磨出了两种解决方案
跨域问题可以在前端解决也可以在后端解决,个人认为后端解决更方便
新建一个CrosConfig 类用来重写WebMvcConfigurer方法
package com.example.springbootdemo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CrosConfig {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping( "/**" )
.allowedOrigins( "*" )
.allowedMethods( "POST", "GET", "PUT", "OPTIONS", "DELETE" )
.maxAge( 3600 )
.allowCredentials( true);
}
};
}
}
这里可能还会出现错误可以吧allowCredentials( true);改为allowCredentials( false);
或者把.allowedOrigins()改成.allowedOriginPatterns()就可以了 其他不用改 主要是springboot版本太高