参考axios官网:www.axios-js.com/ 里面有很详细的api比如拦截器的说明
对比:
fetch是一个低层次的API,你可以把它考虑成原生的XHR,对原生XHR的封装
axios是一个基于Promise用于浏览器和 nodejs 的 HTTP 客户端,本质上也是对原生XHR的封装
一个应用场景,模拟数据怎么实现?
json-server实现:顾名思义,就是个存储json数据的server,把本地的json数据放在服务器上,是一个Node模块,运行Express服务器
npm install -g json-server
在json文件的父文件夹上执行这个命令:json-server --watch xxx.json
会出现一个服务器地址( 如:http://localhost:3000/users ),如果想确认正确与否可以打开浏览器查看。
如果想模拟mock数据,可以用在线工具如:easymock、fastmock等在线生成,跟正常后端接口返回的是一样的数据,本质上就是mockjs官网的语法在线生成: mockjs.com/
在vue中,的src文件夹下可以建一个mock的文件夹:
// src/mock/mock.js 文件夹
import mock from "mockjs";
let data = {
"users|5": [
{
"age|1-100": 100, //100以内随机整数
birthday: '@date("yyyy-MM-dd")', //日期
city: "@city(true)", //中国城市
name: "@cname" //中文名称
}
]
};
let res = mock.mock('/getpageList','get',data)
接着
// src/main.js 文件夹
import './mock/mock'
就可以通过axios来请求这个mock的数据了
import:ES6 的模块语法, require:CommonJS语法
require('./mock/mock') 和下面的等价,请使用es6语法
import './mock/mock'
const axios = require("axios"); 和下面的等价,请使用es6语法
import axios from 'axios'
axios官网:www.axios-js.com/