Skip to content
On this page

axios安装与使用

介绍

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){
  // 处理响应的错误信息 
})