axios api

作者: copyLeft | 来源:发表于2020-10-01 10:29 被阅读0次

别名请求方法

  • request( config )
  • get(url, config)
  • delete(url, config)
  • head(url, config)
  • options(url, config)
  • post(url, data, config)
  • put(url, data, config)
  • patch(url, data, config)

实例方法

  • request
  • get
  • delete
  • head
  • options
  • post
  • put
  • patch
  • getUri(conf)

请求配置

  • url '/user/:id' 请求地址
  • method 'get' 请求方法
  • beseURL 'https: //lh.con' 基础地址
  • transformRequest [ ...(data, headers) => data ] 发送拦截
  • transformResponse [...(data) => data] 返回拦截
  • headers { 'token': ' ...' } 请求头配置
  • params { id: 111 } 查询参数
  • paramsSerializer params => paramsString 查询参数序列化器
  • data { password: 123 } 提交数据

只适用于 PUT POST DELETE PATCH

  • timeout 1000 超时时间
  • withCredentials false 是否跨域
  • adapter (config) => {...} 自定义请求处理器,类似自定义 ajax发送器
  • auth { username: '', password: '' } 身份凭证
  • responseType 'json' 返回数据格式
  • responseEncoing 'utf8' 返回数据编码格式
  • xsrfCookieName ‘XSRF-TOKEN’ xsrf令牌值的cookie的名称
  • xsrfHeaderName 'X-XSRF-TOKEN'
  • onUploadProgress progressEvent => {...} 上传进度事件
  • onDownloadProgerss progressEvent => {...} 下载进度事件
  • maxContentLength 2000 最大内容长度
  • maxBodyLength 2000 最大请求体长度
  • validateStatus status 自定义状态校验器
  • maxRedirects 5 node.js 最大重定向次数
  • socketPath null UNIX套接字
  • httpAgent http代理
  • httpsAgent https代理
  • proxy 代理配置
  • cancelToken 取消令牌
  • decompress true 是否对响应体,解压缩

响应配置

  • data 响应体
  • status 状态码
  • statusText 状态描述
  • headers 响应头
  • config axios 请求配置
  • request 当前请求配置

全局默认配置

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

多级配置

// 默认全局配置
axios.defaults.timeout= 1000 * 6;
// 实例全局配置
instance = axios.create()
instance.defaults.timeout = 1000 * 3
// 请求配置
instance.get('/userName', {timeout: 1000 * 2})
// 优先级 global default < instance default < request 

拦截器

  • axios.interceptors.request.use( (config) => {} ) 添加请求拦截
  • axios.interceptors.request.eject( (config) => {} ) 移除请求拦截
  • axios.interceptors.response.use( (config) => {} ) 添加响应拦截
  • axios.interceptors.response.eject( (config) => {} ) 移除响应拦截

取消拦截

// 方式一
const source = axios.CancelToken.source() // 新建取消token
axios.get('/username', { cancelToken: source.token }) // 为请求添加取消标识
axios.post('/user', data, {cancelToken: source.token}) 
// 方式二
const CancelToken = axios.CencelToken
let cancel // 取消方法
axios.get('/username', {
   cancelToken: new CancelToken(c => cancel = c)
})
cancel()

文档

axios
axios 中文文档

相关文章

  • axios API

    axios API 可以通过向 axios 传递相关配置来创建请求 axios(config) axios(url...

  • vue封装axios的api

    api/request.js import axios from 'axios' const instance =...

  • 封装一个ajax

    实现类似 axios.get() 和 axios.post() 的API

  • vue - axios封装

    1.安装axios 2.新建一个axios.js文件,对axios进行封装 3.api.js(api的统一管理,模...

  • ajax的取消

    读axios的api是发现axios提供了ajax取消的机制。

  • axios的上传与下载

    1、设置axios下载api 例如 2、使用axios进行文件上传

  • 上传

    axios封装 上传api.js api.js vue文件

  • axios封装

    axios封装 同目录api调用

  • mpvue中配置axios使用

    mpvue中使用axios 1.api的index.js文件下配置axios 2.api下新建page文件封装请求...

  • vue3安装axios

    新建api文件夹api->axios.ts: api->index.ts: 使用

网友评论

      本文标题:axios api

      本文链接:https://www.haomeiwen.com/subject/miemuktx.html