SpringBoot解决跨域问题+Vue使用axios、项目文件搭建常用配置文件request.js
1.后端解决跨域问题
@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); } }
2.前端先引入axios,npm install axios 或 yarn add axios(看自己是哪种JS包管理工具)
3.前端request.js
//导入axios import axios from 'axios' const request = axios.create({ baseURL: '/api', timeout: 5000 }) // request 拦截器 // 可以自请求发送前对请求做一些处理 // 比如统一加token,对请求参数统一加密 request.interceptors.request.use(config => { config.headers['Content-Type'] = 'application/json;charset=utf-8'; // config.headers['token'] = user.token; // 设置请求头 return config }, error => { return Promise.reject(error) }); // response 拦截器 // 可以在接口响应后统一处理结果 request.interceptors.response.use( response => { let res = response.data; // 如果是返回的文件 if (response.config.responseType === 'blob') { return res } // 兼容服务端返回的字符串数据,转换成JSON对象 if (typeof res === 'string') { res = res ? JSON.parse(res) : res } return res; }, error => { console.log('err' + error) // for debug return Promise.reject(error) } ) export default request
4.前端设置使用axios
//引入request import request from './utils/request'; // Vue2 main.js使用axios Vue.prototype.request=request
5.前端script引入request(或者不引入,在使用request的时候加上this调用)
<script> import request from '../utils/request' ............................................ ............................................ ............................................ </script>
参考资料:
SpringBoot解决跨域问题_程序员青戈的博客-CSDN博客_springboot解决跨域问题 青戈
Vue项目搭建常用的配置文件,request.js和vue.config.js_程序员青戈的博客-CSDN博客_vue config.headers配置
分类:
前端 / 其他
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律