本文主要跟大家介绍了关于使用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项目有哪些值得借鉴的地方详析
# 拦截器
# 做些
# 而在
# 就可以
# 的是
# 放在
# 你可以
# 不太
# 如有
# 可以通过
# 可以直接
# 有些人
# 这篇文章
# 谢谢大家
# 会将
# 来实现
# 使用这个
# 再发
# 更佳
# 举个
相关文章:
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
建站VPS推荐:2025年高性能服务器配置指南
,如何利用word制作宣传手册?
建站ABC备案流程中有哪些关键注意事项?
北京网站制作的公司有哪些,北京白云观官方网站?
如何用花生壳三步快速搭建专属网站?
浅析上传头像示例及其注意事项
深圳网站制作的公司有哪些,dido官方网站?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
如何快速重置建站主机并恢复默认配置?
Java解压缩zip - 解压缩多个文件或文件夹实例
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
如何通过IIS搭建网站并配置访问权限?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
网站制作员失业,怎样查看自己网站的注册者?
网站制作新手教程,新手建设一个网站需要注意些什么?
如何通过虚拟机搭建网站?详细步骤解析
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
如何快速查询网站的真实建站时间?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
自助网站制作软件,个人如何自助建网站?
宁波自助建站系统如何快速打造专业企业网站?
网站app免费制作软件,能免费看各大网站视频的手机app?
如何通过VPS建站实现广告与增值服务盈利?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
网站设计制作企业有哪些,抖音官网主页怎么设置?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
济南网站制作的价格,历城一职专官方网站?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
网站制作价目表怎么做,珍爱网婚介费用多少?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
如何续费美橙建站之星域名及服务?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
宿州网站制作公司兴策,安徽省低保查询网站?
建站之星如何实现网站加密操作?
大型企业网站制作流程,做网站需要注册公司吗?
建站之星备案流程有哪些注意事项?
如何基于PHP生成高效IDC网络公司建站源码?
微课制作网站有哪些,微课网怎么进?
建站三合一如何选?哪家性价比更高?
创业网站制作流程,创业网站可靠吗?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
如何用西部建站助手快速创建专业网站?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
如何做网站制作流程,*游戏网站怎么搭建?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
建站10G流量真的够用吗?如何应对访问高峰?
*请认真填写需求信息,我们会在24小时内与您取得联系。