阅读 112

Axios必备知识

axios是客户端与服务端通信的一种方式,通过Promise封装,由两部分组成,请求头-请求体,响应头-响应体。

一般请求方法使用get/post/put/delete,近一年通过reasfulApi规则进行通信,也就是把URL当作唯一的标识,以前是query传参,类似一种功能,再通过请求方法知道请求的目的。

get传参的方式通过params传参,携带在url中传送给服务器。

post/put/delete传参方式,也可以跟get一样通过params传参,还可以通过data传参,data传参的三种类型:

  1. 'Content-Type'= 'multipart/form-data'

一般就是表单传参

new FormData() 复制代码

处理后再发送给服务器

  1. 'Content-Type'= 'application/x-www-form-urlencoded'

就是需要系列化处理通过下载插件qs进行转换

import qs from 'Qs' qs.stringify({     data }) 复制代码

处理后再发送给服务器

  1. 'Content-Type'= 'application/json'

非常常用的一种格式

JSON.stringify() 复制代码

处理后再发送给服务器

使用axios,一般会设置默认值,方面操作

axios.defaults.baseURL = 'https://api.example.com';  axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;  axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; 复制代码

会全局设置拦截器

// 添加请求拦截器  axios.interceptors.request.use(function (config) {      // 在发送请求之前做些什么          return config;    }, function (error) {      // 对请求错误做些什么          return Promise.reject(error);    });  // 添加响应拦截器  axios.interceptors.response.use(function (response) {      // 对响应数据做点什么          return response;    }, function (error) {      // 对响应错误做点什么          return Promise.reject(error);    }); 复制代码

还可以设置跨域接口是否携带cookie

 // `withCredentials` 表示跨域请求时是否需要使用凭证   withCredentials: false, // default 复制代码

假如有多个服务器可以,处理不一样的拦截等处理的时候,可用axios.create({})进行创建,这样就互不干扰。


作者:程序媛婵婵
链接:https://juejin.cn/post/7019223447297327118

文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐