# zzh-axios

> 1. 请求数据拦截器 2. 响应数据拦截器 3. 支持 promiseAPI 4. 支持请求数据和响应数据转换 5. JSON 数据自动转换 6. 客户端防止 XSRF

Latest version **1.1.0** (published 2020-03-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install zzh-axios
pnpm add zzh-axios
yarn add zzh-axios
bun add zzh-axios
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2020-03-28 |
| First published | 2020-03-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=6.0.0 |
| Dependencies | 1 |
| Unpacked size | 201.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | zouzenghu |
| Maintainers | zzhjoker |

## Links

- npm: https://www.npmjs.com/package/zzh-axios
- npm.io page: https://npm.io/package/zzh-axios

## Dependencies (1)

- [@types/core-js](https://npm.io/package/@types/core-js.md) ^2.5.3

## Recent versions

- 1.1.0 (latest) — 2020-03-28
- 1.0.0 — 2020-03-28
- 0.0.0 — 2020-03-28

## README

## 一个简单的 Axios(自用)

### 支持功能

1.  请求数据拦截器
2.  响应数据拦截器
3.  支持 promiseAPI
4.  支持请求数据和响应数据转换
5.  JSON 数据自动转换
6.  客户端防止 XSRF

### 参数说明

1. axios(config)
   > axios 方法接收一个 config 对象
2. config.url: string
   > config.url <必须> 指定请求接口，参数类型为一个 string
3. config.method?: Method
   > config.method`[可选]`指定请求方法，默认为 get 方法，如果 data 中有数据则默认为 post 方法，参数类型为常用的请求方法
4. config.data?: any
   > config.data`[可选]`请求接口需要发送的数据，参数类型为对象
5. config.params?: any
   > config.params`[可选]`，url 地址参数，参数类型为任意类型
6. config.timeout?: number
   > config.timeout`[可选]`，指定请求超时时间(毫秒数)，参数类型为 number
7. config.headers?: number
   > config.headers`[可选]`，请求头部，参数类型为对象
8. config.responseType?: XMLHttpRequestResponseType
   > config.responseType`[可选]`，指定响应数据类型，参数类型 XMLHttpRequestResponseType
9. config.transformRequest?: (config:config)=>config
   > config.transformRequest`[可选]`，发起请求前会调用该回调函数，参数类型函数
10. config.transformResponse?: (data:data)=>data
    > config.transformResponse`[可选]`，请求响应后会调用该回调函数，参数类型函数
11. config.withCredentials?:boolean
    > config.withCredentials`[可选]`，发起请求时是否携带 cookie，参数类型 boolean
12. config.onDownloadProgress?: (e.ProgressEvent)=>void
    > config.onDownloadProgress`[可选]`，下载文件数据时会调用该函数，参数类型函数
13. config.onUploadProgress?: (e.ProgressEvent)=>void
    > config.onUploadProgress`[可选]`，上传文件数据时会调用该函数，参数类型函数
14. config.validateStatus?: (status:number)=>boolean
    > config.validateStatus`[可选]`，自定义响应数据安全范围，默认 200~300，参数类型函数
15. config.paramsSerializer?:(params:any) => string
    > config.paramsSerializer`[可选]`，自定义解析 params 参数，参数类型函数
16. config.baseURL?: string
    > config.paramsSerializer`[可选]`，请求发起的公共头部，如果 url 是一个绝对路径则不作处理，参数类型函数
17. config.xsrfCookieName?:string
    > config.xsrfCookieName`[可选]`，请求发起时在 cookie 中寻找的 token 参数，参数类型 string
18. config.xsrfHeaderName?:string
    > config.xsrfHeaderName`[可选]`，请求发起时 token 的头部，参数类型 string
19. axios.defaults.get
    > 默认的请求方法
20. axios.defaults.timeout
    > 默认的超时时间
21. axios.defaults.headers.common
    > 默认的请求公共头部
22. axios.defaults.xsrfCookieName
    > 默认的 cookie token
23. axios.defaults.xsrfHeaderName
    > 默认的 token 请求头部

### 方法说明

1. axios.post(url:string,data?:any,config?:config):promise
   > post 请求 url<必须> data`[可选]`
2. axios.put(url:string,data?:any,config?:config):promise

   > put 请求 url<必须> data`[可选]`config 可选

3. axios.patch(url:string,data?:any,config?:config):promise

   > patch 请求 url<必须> data`[可选]`config 可选

4. axios.get(url:string,params?:any,config:?config):promise

   > get 请求 url<必须> params`[可选]`config 可选

5. axios.delete(url:string,params?:any,config?:config):promise

   > delete 请求 url<必须> params`[可选]`config 可选

6. axios.head(url:string,params?:any,config?:config):promise

   > head 请求 url<必须> params`[可选]`config 可选

7. axios.options(url:string,params?:any,config?:config):promise

   > options 请求 url<必须> params`[可选]`config 可选

8. axios.request(url:string,config:config):promise

   > request 方法 url<必须> config<必须>

9. axios.interceptors.request.use((config)=>void):number
   > 请求拦截器，参数函数，接收参数 config，返回一个 id
10. axios.interceptors.response.use((data)=>void):number

    > 响应拦截器，参数函数，接收参数 config，返回一个 id

11. axios.interceptors.response.eject(id:number):void
    > 根据 id 删除指定的响应拦截器
12. axios.interceptors.request.eject(id:number):void

    > 根据 id 删除指定的请求拦截器

---
_Source: https://npm.io/package/zzh-axios · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
