Springboot如何解决前端请求跨域的问题

 更新时间:2024年07月29日 08:38:16   作者:samuelLw  
这篇文章主要介绍了Springboot如何解决前端请求跨域的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Springboot解决前端请求跨域

Access to fetch at from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

原因

当前端请求的端口和后端接受请求的端口不一致

解决

创建一个配置文件CorConfig.java,允许任何的请求头、请求方法访问。

此处是放开后端,允许前端访问,只需要设置访问源地址即可

package com.zhang.demo.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 {
 
        // 当前跨域请求最大有效时长。这里默认1天
        private static final long MAX_AGE = 24 * 60 * 60;
 
        @Bean
        public CorsFilter corsFilter() {
            UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
            CorsConfiguration corsConfiguration = new CorsConfiguration();
            corsConfiguration.addAllowedOrigin("http://localhost:8080"); // 1 设置访问源地址(允许这个网站访问后台)
            corsConfiguration.addAllowedHeader("*"); // 2 设置访问源请求头
            corsConfiguration.addAllowedMethod("*"); // 3 设置访问源请求方法
            corsConfiguration.setMaxAge(MAX_AGE);
            source.registerCorsConfiguration("/**", corsConfiguration); // 4 对接口配置跨域设置
            return new CorsFilter(source);
        }
    }
 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 关于File与MultipartFile的用法概述

    关于File与MultipartFile的用法概述

    这篇文章主要介绍了关于File与MultipartFile的用法概述,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • SpringBoot解析LocalDateTime失败:Uniapp传输时间变1970的原因与解决方案

    SpringBoot解析LocalDateTime失败:Uniapp传输时间变1970的原因与解决方案

    这篇文章主要介绍了SpringBoot解析LocalDateTime失败?Uniapp传输时间变1970的原因与解决方案,文中通过代码示例给大家讲解的非常详细,需要的朋友可以参考下
    2025-03-03
  • 教你如何写springboot接口 

    教你如何写springboot接口 

    这篇文章主要介绍了教你如何写springboot接口,Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,需要的朋友可以参考y一下
    2022-01-01
  • IDEA如何搭建Struts2项目

    IDEA如何搭建Struts2项目

    这篇文章主要介绍了IDEA如何搭建Struts2项目,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-02-02
  • 探讨Java验证码制作(下篇)

    探讨Java验证码制作(下篇)

    这篇文章主要介绍了探讨Java验证码制作(下篇)的相关资料,需要的朋友可以参考下
    2016-05-05
  • Java新API的时间格式化

    Java新API的时间格式化

    这篇文章主要介绍了Java新API的时间格式化,新的时间API的时间格式化由java.time.format.DateTimeFormatter负责,更多相关资料需要的小伙伴可以参考一下
    2022-05-05
  • Java执行可执行文件的三种方法详解

    Java执行可执行文件的三种方法详解

    这篇文章主要为大家详细介绍了Java中执行可执行文件的三种方法,文中的示例代码讲解详细,具有一定的借鉴价值,需要的小伙伴可以参考一下
    2024-02-02
  • 分析java 中AspectJ切面执行两次的原因

    分析java 中AspectJ切面执行两次的原因

    这篇文章主要介绍了分析java 中AspectJ切面执行两次的原因的相关资料,希望通过本能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • Java object wait notify notifyAll代码解析

    Java object wait notify notifyAll代码解析

    这篇文章主要介绍了Java object wait notify notifyAll代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • springboot集成开发实现商场秒杀功能

    springboot集成开发实现商场秒杀功能

    这篇文章主要介绍了springboot集成实现商品秒杀功能,秒杀系统业务流程,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12

最新评论