1. 概述
1.1 简介
axios是一个基于Promise(本机支持ES6 Promise实现) 的HTTP库,用于浏览器和 nodejs 的 HTTP 客户端。具有以下特征:
从浏览器中创建 XMLHttpRequests
XMLHttpRequest对象用于在后台与服务器交换数据,可做到在不重新加载页面的情况下更新网页,在页面已加载后从服务器请求数据或接收数据,在后台向服务器发送数据。所有的浏览器都支持XMLHttpRequest对象。
从 node.js 创建 http 请求
如get/post等
支持 Promise API
如promise所支持的链式回调,.then(res => {}).catch(err =>{})
拦截请求和响应
在请求之前或响应之后进行的处理,如请求之前增加统一的token标识,响应之后对公用的错误进行处理等。
转换请求数据和响应数据
取消请求
自动转换JSON数据
客户端支持防御XSRF
1.2 引入使用
npm install axios 进行安装,安装成功后 import axios from 'axios' 进行引入模块,再对axios对象进行设置。如
/**
* 创建axios对象
**/let axiosInstance=axios.create({
baseURL: configHttp.domain,
withCredentials:true,
});
备注:使用 Vue.prototype.$http = axios; 进行配置于vue项目中,在页面中可使用this.$http.get('xxxx').then().catch()。
1.3 常用请求配置
1.3.1 url
数据请求的服务器URL,此配置必须存在,否则无访问路径无法进行数据请求。
1.3.2 method
创建请求时使用的方法,默认get方式。有多种请求方式,如:request/get/delete/head/post/put/patch,常用get与post.
1.3.3 baseURL
设置一个统一的基础路径(如http://www.demo.com/api/),使axios的get或post中的url使用相对URL,更改访问域名或端口号时只更改对应的baseURL值即可。<