当前位置: 首页 > article >正文

Vue:axios(POST请求)

发送 POST 请求

基本用法

axios.post('/api/login', {username: 'lcyyyy',password: '123456'
})
.then(response => {console.log('请求成功:', response.data);
})
.catch(error => {console.error('请求失败:', error);
});

在 Vue 组件中使用

export default {methods: {async submitForm() {try {const response = await axios.post('/api/submit', {name: this.name,email: this.email});console.log('提交成功:', response.data);} catch (error) {console.error('提交失败:', error.response?.data || error.message);}}}
}

处理请求参数

发送 JSON 数据(默认)

Axios 默认会将 JavaScript 对象序列化为 JSON,并自动设置请求头 Content-Type: application/json

发送表单数据(FormData)

如果需要提交表单格式数据(如文件上传),需使用 FormData

const formData = new FormData();
formData.append('file', this.file); // 文件对象
formData.append('comment', '这是一个文件');axios.post('/api/upload', formData, {headers: {'Content-Type': 'multipart/form-data' // Axios 会自动识别,可省略}
});

全局配置与拦截器

1全局默认配置

// main.js 或单独配置文件
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.timeout = 5000; // 超时时间

请求拦截器

axios.interceptors.request.use(config => {// 在发送请求前做些什么(如添加 token)config.headers.Authorization = `Bearer ${localStorage.getItem('token')}`;return config;
}, error => {return Promise.reject(error);
});

响应拦截器

axios.interceptors.response.use(response => {// 对响应数据做统一处理return response.data; // 直接返回核心数据
}, error => {// 统一处理错误(如 401 跳转登录页)if (error.response.status === 401) {router.push('/login');}return Promise.reject(error);
});

http://www.lryc.cn/news/2386537.html

相关文章:

  • 企业级调度器LVS (面试版)
  • 从OTA双雄「共舞」,透视旅游持续繁荣背后的结构性跃迁
  • 华为OD机试真题——虚拟理财游戏(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳实现
  • Vue-01(Vue CLI创建项目以及文件配置说明)
  • 华为云Flexus+DeepSeek征文 | DeepSeek-V3/R1商用服务开通体验全流程及使用评测
  • redis列表类型
  • 人工智能数学基础实验(一):智能推荐系统实战
  • uni-app学习笔记十二-vue3中组件传值(对象传值)
  • Vue.js教学第十四章:Vuex模块化,打造高效大型应用状态管理
  • Ubuntu/Linux 服务器上调整系统时间(日期和时间)
  • win11 禁用/恢复 内置笔记本键盘(保证管用)
  • 精度不够?光纤激光尺0.2ppm误差解锁微米级制造
  • Android 16系统源码_自由窗口(一)触发自由窗口模式
  • sqli-labs第十八关——POST-UA注入
  • 流式优先架构:彻底改变实时数据处理
  • WebSockets 在实时通信中的应用与优化
  • 零基础教程:用 Docker + pgloader 将 MySQL 数据库迁移到 PostgreSQL
  • mac上安装 Rust 开发环境
  • 解决RedisTemplate的json反序列泛型丢失问题
  • 【Elasticsearch】创建别名的几种方式
  • 【JAVA】中文我该怎么排序?
  • 《C 语言字符串操作从入门到实战(下篇):strncpy/strncat/strstr 等函数原理与实现》
  • 百度飞桨PaddleOCR 3.0开源发布 OCR精度跃升13%
  • Xilinx 7Series\UltraScale 在线升级FLASH STARTUPE2和STARTUPE3使用
  • 数字孪生驱动的离散制造智能升级:架构设计与工程实践
  • 9.4在 VS Code 中配置 Maven
  • mmaction2——tools文件夹下
  • 新能源汽车充电桩资源如何利用资源高效配置?
  • python 程序实现了毫米波大规模MIMO系统中的信道估计对比实验
  • NTFS0x90属性和0xa0属性和0xb0属性的一一对应关系是index_entry中的index_node中VCN和runlist和bitmap