控制台打印的错误信息:
    When allowCredentials is true, allowedOrigins cannot contain the special value “*” since that cannot be set on the “Access-Control-Allow-Origin” response header. To allow credentials to a set of origins, list them explicitly or consider using “allowedOriginPatterns” instead.

    当项目使用前后端分离开发时,后端已经对跨域问题进行了处理,但是还是报这个错,解决办法是把 .allowedOrigin(“*”) 修改为 .allowedOriginPattern(“*”);

    修改前:

    1. /**
    2. * 解决跨域问题
    3. * 因为是前后端分离项目,所以跨域问题是不可避免的
    4. * 直接在后台进行全局跨域处理
    5. */
    6. @Configuration
    7. public class CorsConfig implements WebMvcConfigurer {
    8. @Override
    9. public void addCorsMappings(CorsRegistry registry) {
    10. registry.addMapping("/**")
    11. .allowedOrigins("*")// 允许向该服务器提交请求的URI,*表示全部允许,在SpringMVC中,如果设成*,会自动转成当前请求头中的Origin
    12. .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")// 允许请求的方法
    13. .allowCredentials(true)
    14. .maxAge(3600)// // 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了
    15. .allowedHeaders("*");// 允许访问的头信息,*表示全部
    16. }
    17. }

    修改后:

    1. @Configuration
    2. public class CorsConfig implements WebMvcConfigurer {
    3. @Override
    4. public void addCorsMappings(CorsRegistry registry) {
    5. registry.addMapping("/**")
    6. .allowedOriginPatterns("*")
    7. .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
    8. .allowCredentials(true)
    9. .maxAge(3600)
    10. .allowedHeaders("*");
    11. }
    12. }