axios的基本使用

144 阅读2分钟

axios: 一个专注于网络数据请求的库,简单易用轻量化。

注意:调用 axios 方法返回的是一个 promise 对象

下载安装axios

一、通过 CDN 引用外部资源

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

二、通过 npm 下载

npm i axios -S

常用的请求类型

  • GET 向服务器中获取数据
  • POST 网服务器中提交数据
  • PUT 修改服务服中的数据
  • DELETE 删除服务器中的数据

axios.get()方法

注意:axios返回的是一个promise对象

axios.get('请求的url地址', {params: {/*传递给服务器的数据*/}})
    // 通过 .then 来指定成功之后的调回函数,服务器返回的数据存放于  res.data  中
    .then(res => {
        console.log(res.data)
    })
    // 通过 .catch 方法捕获错误
    .catch(err => {
        console.log(err)
    })

axios.post()方法

axios.post('请求的url地址', {/*传递给服务器的数据*/})
    .then(res => {
        console.log(res.data)
    })
    .catch(err => {
        console.log(err)
    })

直接使用axios()

axios({
    method:"请求类型",
    url:"请求的URL地址",
    data:{/*POST请求参数*/},
    params:{/*GET请求参数*/}
})
.then(function(res){
    console.log(res.data)
})
.catch(err => {
    console.log(err)
})

axios响应结构

{
  data: {}, // 服务器返回的内容
  status: 200, // 服务器响应的 HTTP 状态码
  statusText: 'OK', // 服务器响应的 HTTP 状态信息
  headers: {}, // 服务器响应的头
  config: {} // 是为请求提供的配置信息
}

axios.defaults 全局配置

使用axios.defaults可以进行axios一些全局的默认配置,如配置请求的根路径、请求头

//配置请求的基准地址
axios.defaults.baseURL = "http://localhost:3000/";
//配置请求头信息
axios.defaults.headers["mytoken"] = "hello";

拦截器

拦截器每次发起 ajax 请求和得到响应的时候自动被触发的函数(请求拦截器和响应拦截器)。在函数中就可以进行一系列的处理

应用场景:

  • token 身份认证
  • loading 加载效果

请求拦截器

通过 axios.interceptors.request.use(成功的回调[,失败的回调]) 进行配置请求拦截器

axios.interceptors.request.use(config => {
  /* 参数 
  	config 是一个对象,对面里存放着关于当前请求所有的信息、数据。如:请求方式、请求地址、请求时携带的参数、请求头...
  */
  // 成功的回调函数
  ...
  
  // 最后必须将 config return 出去否则所有请求都会失败
	return config
},err => {
  // 失败的回调函数(可以被省略)
  return Promise.reject(err)
})

响应拦截器

通过 axios.interceptors.response.use(成功的回调[,失败的回调]) 进行配置响应拦截器

axios.interceptors.response.use(res => {
  /* 参数 
  	res 响应对象。
  */
  // 成功的回调函数----可以在回调函数中进行一些处理。如关闭loading效果
  ...
  
  // 最后必须将 res retrun 出去
  return res
},err => {
  // 失败的回调函数(可以被省略)
  return Promise.reject(err)
})