axios文档学习

本文详细介绍了axios,一个基于Promise的HTTP库,适用于浏览器和node.js。覆盖了配置选项如URL、请求方法、请求头、超时设置等,以及如何使用axios执行GET、POST等HTTP请求,还展示了如何并发执行多个请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
{
  url: '',
  method: 'get/post/put/patch', // 缺省时为get
  baseURL: 'https://some-domain.com/api/',
  // `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
  headers: {'X-Requested-With': 'XMLHttpRequest'},
  // `headers` 是即将被发送的自定义请求头
  params: {
    ID: 12345
  },// `params` 是即将与请求一起发送的 URL 参数
  // 必须是一个无格式对象(plain object)或 URLSearchParams 对象
  
  // `data` 是作为请求主体被发送的数据
  // 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH'
  // 在没有设置 `transformRequest` 时,必须是以下类型之一:
  // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
  data: {
    firstName: 'Fred'
  },
  
  // 如果请求话费了超过 `timeout` 的时间,请求将被中断
  timeout: 1000,
  
  // `transformRequest` 允许在向服务器发送前,修改请求数据
  // 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法
  // 后面数组中的函数必须返回一个字符串,或 ArrayBuffer,或 Stream
  transformRequest: [function (data, headers) {
    // 对 data 进行任意转换处理
    return data;
  }],

  // `transformResponse` 在传递给 then/catch 前,允许修改响应数据
  transformResponse: [function (data) {
    // 对 data 进行任意转换处理
    return data;
  }],
  
  //设置代理
  proxy: {
    host: '127.0.0.1',
    port: 9000,
    auth: {
      username: 'mikeymike',
      password: 'rapunz3l'
    }
  },

  // `cancelToken` 指定用于取消请求的 cancel token
  cancelToken: new CancelToken(function (cancel) {
  })
  
}
axios.request(config)

//[]表示可选项
axios.get(url[, config])
axios.head(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
axios.delete(url[, config])
axios.options(url[, config])

http 请求类型
  1. GET :请求指定的页面信息,并返回实体主体。数据添加在URL尾部。
  2. HEAD:向服务器索要与GET请求相一致的响应,只返回相应头。
  3. POST:向指定资源提交数据进行请求(例如提交表单或者上传文件)。数据被包含在请求体中。
  4. PUT : 从客户端向服务器传送的数据取代指定的文档的内容。
  5. PATCH:实体中包含一个表,表中说明与该URI所表示的原内容的区别。
  6. DELETE:请求服务器删除Request-URI所标识的资源。
  7. OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。
  8. TRACE:回显服务器收到的请求,主要用于测试或诊断。

常用的是get和post,其他请求方式也都可以通过这两种方式间接的来实现。

执行多个并发请求
function getUserAccount() {
  return axios.get('/user/12345');
}

function getUserPermissions() {
  return axios.get('/user/12345/permissions');
}

axios.all([getUserAccount(), getUserPermissions()])
  .then(axios.spread(function (acct, perms) {
    // 两个请求现在都执行完成
  }));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值