简介:本文将介绍如何使用axios进行前后端跨域数据交互,通过SpringBoot作为后端框架,MySQL作为数据库,Vue作为前端框架,ElementUI作为UI组件库,Mybatis作为持久层框架,搭建一个面向小白的简单管理系统。我们将重点讲解axios在其中的应用和配置方法。
一、背景与目标
随着Web开发技术的不断发展,前后端分离已成为一种主流的开发模式。在这种模式下,前端和后端各自负责不同的功能,通过API接口进行数据交互。为了实现前后端跨域数据交互,我们需要使用合适的工具和技术。
二、技术选型
为了简化开发过程,我们选择以下技术栈:
npm install axios。然后在main.js文件中引入axios并全局配置:在SpringBoot项目中,我们需要配置CORS(跨域资源共享)以允许前端跨域请求:
import axios from 'axios';axios.defaults.baseURL = 'http://localhost:8080/api'; // 设置后端接口地址axios.defaults.withCredentials = true; // 允许携带跨域cookie
这样配置后,前后端就可以通过axios进行跨域数据交互了。
@Configurationpublic class WebMvcConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedMethods("GET", "POST", "PUT", "DELETE").allowedOrigins("*").allowCredentials(true).maxAge(3600);}}
以上代码中,我们在组件挂载完成后发送GET请求获取数据,然后将返回的数据保存到组件的data中。
import axios from 'axios';export default {data() {return {info: null}},mounted() {axios.get('/api/data').then(response => {this.info = response.data;}).catch(error => {console.log(error);});}}