axios安装与使用
介绍
axios是一个基于Promise的HTTP库,可用在浏览器和node.js中,它有以下特点:
- 从浏览器中创建 XMLHttpRequests
- 从 node.js 创建 http 请求
- 支持 Promise API
- 拦截请求和响应
- 转换请求数据和响应数据
- 取消请求
- 自动转换 JSON 数据
- 客户端支持防御 XSRF
安装
安装:
sh
# npm
npm install axios
# yarn
yarn add axios
在vue中导入:
js
import axios, { AxiosRequestConfig } from "axios";
使用
GET传递参数
通过url传递参数
js
axios.get('/url?id=123').then(...)
axios.get('/url/123').then(...)
通过params选项传递参数
js
axios.get('/url',{ params: {id:123}}).then(...)
TIP
DELETE传递参数使用方法和GET一样
POST传递参数
通过选项传递参数(默认json格式)
js
axios.post('/url',{uname: 'tom',pwd: 123456}).then(...)
通过URLSearchParams传递参数(application/x-www-form-urlencoded)
js
const params=new URLSearchParams();
params.append('param1','value1');
params.append('param2','value2');
axios.post('/url',params).then(...)
TIP
PUT传递参数使用方法和POST一样
响应结果
data:实际响应回来的数据
headers:响应头信息
status:响应状态码
statusText:响应状态信息
使用axios返回的 “类json”
数据会自动转换成json格式无需自己转
全局配置
js
// 超时时间
axios.defaults.timeout=3000;
// 默认地址
axios.defaults.baseURL='http://www.xxx.com'
// 设置请求头
axios.defaults.headers['mytoken']='xxxxxx'
请求拦截器
js
// 添加请求拦截器
axios.interceptors.request.use(function(config){
// 发请求前设置一些信息
return config;
},function(err){
// 处理响应的错误信息
})
响应拦截器
js
// 添加响应拦截器
axios.interceptors.response.use(function(res){
// 处理返回的数据
return res;
},function(err){
// 处理响应的错误信息
})