• vue学习-10vue整合SpringBoot跨域请求


    Vue.js应用整合Spring Boot后端时,需要处理跨域请求。跨域请求通常发生在前端应用运行在不同的域名或端口上时,而后端服务运行在不同的域名或端口上。以下是一种处理跨域请求的常见方式:

    后端(Spring Boot)配置

    1. 在Spring Boot项目中配置CORS(跨域资源共享)以允许来自前端应用的跨域请求。
    @Configuration
    public class CorsConfig {
        @Bean
        public CorsFilter corsFilter() {
            UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
            CorsConfiguration config = new CorsConfiguration();
            config.addAllowedOrigin("http://localhost:8080"); // 允许指定的前端应用跨域访问 也可以 *
            config.addAllowedHeader("*");
            config.addAllowedMethod("*"); //允许所有的请求方式
                            //.allowedMethods("GET", "POST", "PUT", "DELETE"); 只允许限定的请求方式跨域  
            source.registerCorsConfiguration("/**", config);
            return new CorsFilter(source);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在上述示例中,我们配置了允许前端应用运行在http://localhost:8080上的跨域请求。你应该根据你的前端应用的实际地址进行配置。

    前端(Vue.js)配置
    在Vue.js应用中,确保使用了axios或其他HTTP库来发送请求,并进行相应的配置。

    首先,安装axios(如果未安装):

    npm install axios
    
    • 1

    在Vue.js应用中的全局配置中,设置axios的baseURL,这将指定后端API的地址。在Vue的main.js文件或其他适当的地方添加以下代码:

    import axios from 'axios';
    
    // 设置axios的baseURL
    axios.defaults.baseURL = 'http://localhost:8081'; // 后端API的地址
    
    // ...其他全局配置
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    这里的http://localhost:8081应该是你后端Spring Boot应用的地址。确保与后端的实际地址匹配。

    现在,你可以在Vue组件中使用axios来发送请求,例如:

    methods: {
      fetchData() {
        axios.get('/api/data')
          .then(response => {
            // 处理响应数据
          })
          .catch(error => {
            // 处理错误
          });
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    这样,你的Vue.js应用就能够与后端的Spring Boot服务进行跨域通信。确保后端API的地址和端口与前端配置的axios baseURL 匹配,以确保请求被正确路由到后端。同时,配置后端的CORS以允许来自前端的跨域请求。

  • 相关阅读:
    Qt QObject Cannot create children for a parent that is in a different thread
    阿里云云数据库Redis的基本使用(十五)
    Python之切片
    录屏软件用什么好?直播会议用什么录屏软件?
    Web前端:雇佣全栈开发者有哪些好处?
    .NET6接入Skywalking链路追踪完整流程
    Pytorch房价预测
    Java“实战”问题三连,你面试时遇到了吗?冲刺大厂面试
    LeetCode19.删除链表的倒数第N个结点
    Android开发者在企业秋招或者社招中加分点到底有哪些?
  • 原文地址:https://blog.csdn.net/qq_45922256/article/details/133387218