关于使用axios的一些心得技巧分享
发布时间 - 2026-01-11 02:08:20 点击率:次本文主要跟大家介绍了关于使用axios的一些心得技巧,分享出来供大家参考学习,下面来一起看看详细的介绍:

一、带cookie请求
axios默认是请求的时候不会带上cookie的,需要通过设置withCredentials: true来解决。
二、使post请求发送的是formdata格式数据
首先必须设置请求头
//可以通过这种方式给axios设置的默认请求头
axios.defaults.headers = {
"Content-Type": "application/x-www-form-urlencoded"
}
其次再发送之前需要处理一下数据
// 发送请求前处理request的数据
axios.defaults.transformRequest = [function (data) {
// Do whatever you want to transform the data
let newData = ''
for (let k in data) {
newData += encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) + '&'
}
return newData
}]
三、拦截器
你可以截取请求或响应在被 then 或者 catch 处理之前。
举个小例子:发ajax请求的时候需要有一个loading动画,而在请求回来之后需要把loading动画关掉,就可以使用这个拦截器来实现。
//添加请求拦截器
axios.interceptors.request.use(config => {
//在发送请求之前做某事,比如说 设置loading动画显示
return config
}, error => {
//请求错误时做些事
return Promise.reject(error)
})
//添加响应拦截器
axios.interceptors.response.use(response => {
//对响应数据做些事,比如说把loading动画关掉
return response
}, error => {
//请求错误时做些事
return Promise.reject(error)
})
//如果不想要这个拦截器也简单,可以删除拦截器
var myInterceptor = axios.interceptors.request.use(function () {/*...*/})
axios.interceptors.request.eject(myInterceptor)
ps:另外附上自己在项目中使用axios的方式
一般会将所有的ajax请求放在一个模块中,新建一个http.js
//http.js
//设置请求baseURL
axios.defaults.baseURL = '/api'
//设置默认请求头
axios.defaults.headers = {
"Content-Type": "application/x-www-form-urlencoded"
}
// 发送请求前处理request的数据
axios.defaults.transformRequest = [function (data) {
let newData = ''
for (let k in data) {
newData += encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) + '&'
}
return newData
}]
// 带cookie请求
axios.defaults.withCredentials = true
//get请求
function get(url) {
return body => axios.get(url, { params: body })
}
//post请求
function post(url) {
return body => axios.post(url, body)
}
//导出使用
export const login = get('/login')
假设配合vue使用
// 引入login模块
import { login } from 'http'
export default {
methods:{
//配合 async/await使用效果更佳
async get() {
try {
let res = await login({ account: 'admin' })
console.log(res)
}
catch (e) {
console.log(e)
}
}
}
}
再另外有些人可能喜欢把axios挂载到Vue的原型上,从而在子组件内可以直接访问的到,做法如下:
Vue.prototype.$http = axios //其他页面在使用axios的时候直接 this.$http就可以了
除非页面足够简单,不然我个人不太喜欢这种做法。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对的支持。
# axios的使用
# axios在vue中的使用
# axios使用
# axios基本入门用法教程
# axios学习教程全攻略
# 详解vue axios中文文档
# vue axios用法教程详解
# GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
# 拦截器
# 做些
# 而在
# 就可以
# 的是
# 放在
# 你可以
# 不太
# 如有
# 可以通过
# 可以直接
# 有些人
# 这篇文章
# 谢谢大家
# 会将
# 来实现
# 使用这个
# 再发
# 更佳
# 举个
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
C#如何调用原生C++ COM对象详解
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
如何基于云服务器快速搭建个人网站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
独立制作一个网站多少钱,建立网站需要花多少钱?
JavaScript数据类型有哪些_如何准确判断一个变量的类型
装修招标网站设计制作流程,装修招标流程?
JS经典正则表达式笔试题汇总
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
如何在 React 中条件性地遍历数组并渲染元素
高端建站如何打造兼具美学与转化的品牌官网?
如何做网站制作流程,*游戏网站怎么搭建?
电商网站制作价格怎么算,网上拍卖流程以及规则?
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
如何在阿里云虚拟服务器快速搭建网站?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
微信小程序 scroll-view组件实现列表页实例代码
如何在云虚拟主机上快速搭建个人网站?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
如何快速生成ASP一键建站模板并优化安全性?
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
,怎么在广州志愿者网站注册?
教你用AI将一段旋律扩展成一首完整的曲子
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
如何用wdcp快速搭建高效网站?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
PythonWeb开发入门教程_Flask快速构建Web应用
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
什么是javascript作用域_全局和局部作用域有什么区别?
如何快速搭建高效简练网站?
千库网官网入口推荐 千库网设计创意平台入口
简历在线制作网站免费版,如何创建个人简历?
Android实现代码画虚线边框背景效果
EditPlus中的正则表达式实战(6)
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
大连 网站制作,大连天途有线官网?

