自学React系列~05之axios
axios简介
axios 是一个 JavaSctipt
的 http 客户端请求工具,同时也支持 Node.js
。axios
有以下特性:
- 向浏览器发送异步请求(ajax请求)。
- 支持
Promise
API。 - 可以对请求(request) 和 响应(response)进行拦截。
- 可以将请求数据(request data) 和响应数据(response data)进行转换。
- 支持取消请求。
- 自动转换为
JSON
数据。 - 支持多种浏览器:Chrome、FireFox、Safari、MicroSoft Edge、
IE11(基本没人使用)
发送GET请求
1 | let url = 'http://localhost:8080/test/test'; |
发送POST请求
1 | let url = 'http://localhost:8080/test/test'; |
看起来只是简单的将 get
替换成 post
即可。
axios支持的请求方式
axios.request(config)
axios.get(url[, config])
axios.post(url[, data[, config]])
axios.delete(url[, config])
axios.head(url[, config])
axios.options(url[, config])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
创建axios实例
1 | const instance = axios.create({ |
支持的配置参数
1 | { |
响应内容
1 | { |
如果是从后端取响应数据应该是 response.data
里面的内容。
设置全局参数
1 | axios.defaults.baseURL = 'https://api.example.com'; |
使用 axios.defaults.xxx 进行设置即可。
配置将会按优先级进行合并。它的顺序是:在 lib/defaults.js 中找到的库默认值,然后是实例的 defaults
属性,最后是请求的 config
参数。后面的优先级要高于前面的。
拦截器
拦截器分为 请求拦截器
和 响应拦截器
两类,分别对请求和响应进行拦截。
请求拦截器
1 | axios.interceptors.request.use(function (config) { |
响应拦截器
1 | axios.interceptors.response.use(function (response) { |
移除拦截器
1 | // 这里定义拦截器 |
取消请求
1 | const CancelToken = axios.CancelToken; |
以上是 axios
的一些基本使用。