axios的基本使用

axios 是一个功能强大且易于使用的 HTTP 客户端库,提供了丰富的功能和配置选项。以下是 axios 的完整使用示例:

发送 GET 请求:

javascript 复制代码
axios.get('https://jsonplaceholder.typicode.com/posts')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

发送 POST 请求:

javascript 复制代码
axios.post('https://jsonplaceholder.typicode.com/posts', {
    title: 'foo',
    body: 'bar',
    userId: 1
  })
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

设置请求头:

javascript 复制代码
axios.get('https://jsonplaceholder.typicode.com/posts', {
    headers: {
      'Authorization': 'Bearer token'
    }
  })
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

并发请求:

javascript 复制代码
axios.all([
    axios.get('https://jsonplaceholder.typicode.com/posts/1'),
    axios.get('https://jsonplaceholder.typicode.com/posts/2')
  ])
  .then(axios.spread((response1, response2) => {
    console.log(response1.data);
    console.log(response2.data);
  }))
  .catch(error => {
    console.error(error);
  });

取消请求:

javascript 复制代码
const source = axios.CancelToken.source();

axios.get('https://jsonplaceholder.typicode.com/posts', {
  cancelToken: source.token
})
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    if (axios.isCancel(error)) {
      console.log('Request canceled:', error.message);
    } else {
      console.error(error);
    }
  });

// 取消请求
source.cancel('Request canceled by the user');

设置默认配置:

javascript 复制代码
axios.defaults.baseURL = 'https://jsonplaceholder.typicode.com';
axios.defaults.headers.common['Authorization'] = 'Bearer token';
axios.defaults.headers.post['Content-Type'] = 'application/json';

以上是 axios 的一些常用用法和功能示例

相关推荐
潍坊老登31 分钟前
写了一个某音自动刷视频,通过大模型分析视频主题的Android应用
前端
蔓越莓1 小时前
性能优化:webpack打包层面优化
前端·面试
TJHHH.1 小时前
XSS-labs-master
前端·web安全·xss
风月说与山鬼1 小时前
十二、Vue插件
前端·vue.js
xixiaoyunya1 小时前
JavaScript 异步编程全解析:从回调地狱到 async/await 的演进之路
开发语言·javascript·ecmascript
spter。1 小时前
一次 Redis SETNX 的小插曲,我重新理解了原子性
前端·redis·bootstrap
张元清1 小时前
React useScrollLock Hook:为弹窗锁住页面滚动 (2026)
javascript·react.js
Sayai1 小时前
【无标题】ECharts 实现日志量异常检测:基线 ±Kσ 基带 + 灵敏度切换(Vue2 实战)
前端·javascript·echarts
用户3169353811832 小时前
SpringBoot + Vue 项目生产环境部署完整指南
前端·后端
Csvn2 小时前
🔍 TypeScript `satisfies` 操作符:既要类型安全,又要推断的原始字面量类型
前端