Axios学习笔记

150次阅读
没有评论

共计 2090 个字符,预计需要花费 6 分钟才能阅读完成。

Ajax 是对原生 XHR 的封装,而 Axios 又对原生 Ajax 进行了封装。

介绍

Axios 是一个基于 Promise 的网络请求库,主要实现 Ajax 异步通信功能,用于向后端发起请求,是一种可以发 HTTP 请求的 JS 库。

Axios 官网:https://www.axios-http.cn/

使用

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
  </head>
  <body>
    <div id="app">{{info}}</div>
  </body>
  <script>
    const app = {data() {
        return {info: 'Ajax 测试',}
      },
      mounted() {
        axios
          .get('http://thapi.top/API/sjsp.php')
          .then((res) => (this.info = res.data))
          .catch(function (err) {console.log(err)
          })
      },
    }

    Vue.createApp(app).mount('#app')
  </script>
</html>

携带参数

axios.post(
  'http://thapi.top/API/sjsp.php',
  {},
  {
    params: {
      name: '&&&',
      age: 18,
    },
  }
)

发数据

用请求体发数据,格式为 urlencoded:

const params = new URLSearchParams()
params.append('name', '张三')
params.append('age', 18)
axios.post('http://thapi.top/API/sjsp.php', params)

用请求体发数据,格式为 multipart:

const params = new FormData()
params.append('name', '张三')
params.append('age', 18)
axios.post('http://thapi.top/API/sjsp.php', params)

用请求体发数据,格式为 json:

axios.post('http://thapi.top/API/sjsp.php', {
  name: '张三',
  age: 18,
})

默认配置

Axios 对象可以直接使用,但使用的是默认设置。用 axios.create 创建的对象,可以覆盖默认设置,常见的 config 项有:

名称 含义
baseURL 将自动加在 URL 前面
headers 请求头,类型为简单对象
params 跟在 URL 后的请求参数,类型为简单对象或 URLSearchParams
data 请求体,类型有简单对象、FormData、URLSearchParams、File 等
withCredentials 跨域时是否携带 Cookie 等凭证,默认为 false
responseType 响应类型,默认为 json
const _axios = axios.create({
  baseURL: 'http://localhost:3000',
  withCredentials: true,
})
_axios.post('/api/post')

请求拦截器

const _axios = axios.create({
  baseURL: 'http://localhost:3000',
  withCredentials: true,
})
// 请求拦截器
_axios.interceptors.request.use(function (config) {
    config.headers = {Authorization: 'test',}
    return config
  },
  function (e) {return Promise.reject(e)
  }
)
_axios.post('/api/post')
_axios.post('/api/post2')

响应拦截器

// 响应拦截器
_axios.interceptors.response.use(function (response) {
    // 2xx 范围内走这里
    return response
  },
  function (e) {if (e.response.status === 400) {console.log('请求参数不正确')
      return Promise.resolve(400)
    } else if (e.response.status === 404) {console.log('资源未找到')
      return Promise.resolve(404)
    }

    return Promise.reject(e)
  }
)

正文完
 0
阿伯手记
版权声明:本站原创文章,由 阿伯手记 于2023-10-08发表,共计2090字。
转载说明:本站原创内容,除特殊说明外,均基于 CC BY-NC-SA 4.0 协议发布,转载须注明出处与链接。
评论(没有评论)
验证码

阿伯手记

阿伯手记
阿伯手记
喜欢编程,头发渐稀;成长路上,宝藏满地
文章数
766
评论数
204
阅读量
345249
今日一言
-「
热门文章
职场救急!AI请假话术生成器:1秒定制高通过率理由

职场救急!AI请假话术生成器:1秒定制高通过率理由

超级借口 不好开口?借口交给我!智能生成工作请假、上学请假、饭局爽约、约会拒绝、邀约推辞、万能借口等各种借口理...
夸克网盘快传助手提高非VIP下载速度

夸克网盘快传助手提高非VIP下载速度

夸克网盘限速这个大家都知道,不开会员差不多限速在几百 K。那有没有办法在合法合规途径加速下载夸克网盘呢?这里推...
国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

本文收集了目前国内已部署 DeepSeek 模型的第三方列表,个个都是免费不限次数的满血版 DeepSeek,...
TVAPP:开源电视盒子资源库,一键打造家庭影院

TVAPP:开源电视盒子资源库,一键打造家庭影院

导语 TVAPP 是一个专为 Android TV 电视盒子用户打造的开源影音资源库,集成了影视、直播、游戏等...
2025年12月 每日精选

2025年12月 每日精选

关于每日精选栏目 发现一些不错的资源,点击 这里 快速投稿。 12 月 26 日 .ax 顶级域 目前全球唯一...
巴别英语:用美剧和TED演讲轻松提升英语听力与口语

巴别英语:用美剧和TED演讲轻松提升英语听力与口语

还在为枯燥的英语学习而烦恼吗?巴别英语通过创新的美剧学习模式,让英语学习变得生动有趣。平台提供海量美剧和 TE...
Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 是一款在线中文姓名生成器,可在几秒内生成符合个人需求的中文名字。...
最新评论
15220202929 15220202929 怎么用
八对 八对 麻烦大佬更新下【堆新】的友链站名:八对星星描述:极目星视穹苍无界•足履行者大地有疆链接:https://8dui.com图标:https://cf.8dui.com/logo.webp横标:https://cf.8dui.com/logo-w.webp订阅:https://8dui.com/rss.xml
三毛笔记 三毛笔记 已添加
DUINEW DUINEW 已添加贵站,期待贵站友链~博客名称:堆新博客地址:https://duinew.com/博客描述:堆新堆新,引力向新!——堆新(DUINEW)博客头像:https://d.duinew.com/logo.webp横版头像:https://d.duinew.com/logo-w.webp博客订阅:https://duinew.com/rss.xml
hedp hedp 没看懂
bingo bingo 直接生成就可以啦,也可以添加一些选项
满心 满心 申请更新下友联信息,原名:满心记,现名:周天记原域名:qq.mba,现域名:zhoutian.com描述:我在人间混日子
开业吉日 开业吉日 没看明白这个怎么用
开业吉日 开业吉日 beddystories 这个网站太赞了,收藏
热评文章
夸克网盘快传助手提高非VIP下载速度

夸克网盘快传助手提高非VIP下载速度

夸克网盘限速这个大家都知道,不开会员差不多限速在几百 K。那有没有办法在合法合规途径加速下载夸克网盘呢?这里推...
安知鱼主题 简洁美丽Hexo主题 支持文章AI摘要

安知鱼主题 简洁美丽Hexo主题 支持文章AI摘要

安知鱼主题 是一款基于 Hexo 框架简洁美观的博客主题,由 hexo-theme-butterfly 修改而...
Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 是一款在线中文姓名生成器,可在几秒内生成符合个人需求的中文名字。...
Short-Link 免费开源短网址程序,基于Fastify、Vercel和Supabase构建

Short-Link 免费开源短网址程序,基于Fastify、Vercel和Supabase构建

Short-Link 是一款基于 Fastify、Vercel 和 Supabase 构建的 URL 缩短服务...
清华大学官方免费DeepSeek教程

清华大学官方免费DeepSeek教程

AI 领域近期最引人注目的焦点当属 DeepSeek,这款由中国创新企业深度求索研发的人工智能工具,正以开放源...
国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

本文收集了目前国内已部署 DeepSeek 模型的第三方列表,个个都是免费不限次数的满血版 DeepSeek,...
BeddyStories 完全免费儿童睡前故事库,让孩子随时随地入睡更轻松

BeddyStories 完全免费儿童睡前故事库,让孩子随时随地入睡更轻松

BeddyStories 是一个致力于为儿童提供优质睡前故事的在线平台,用户可以在这里找到来自世界各地的经典故...