axios和fetch区别与使用
//1.引入axios模块
import axios from 'axios'
//2.全局配置
axios.defaults.baseURL = '请求地址'
//3.添加请求拦截器
// (function (config) {
// //1.获取token
// let token = ('token')
// //2.判断
// if (token) {
// //设置请求头(后期请求接口 http请求头携带Authorization参数)
// ['Authorization'] = token
// }
// return config
// }, function (error) {
// // Do something with request error
// return (error)
// })})
// 在实例已创建后修改默认值,比如请求时需要拿到token值
// ['token'] = token
// 自定义超时时间
axios.instance.defaults.timeout = 6000
// let token = ('token') || '固定的'
// let token = ('token')
// ['Authorization'] = token
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
//1.获取token
var token = localStorage.getItem('token')
//2.判断
if (token) {
//设置请求头(后期请求接口 http请求头携带Authorization参数)
config.headers['Authorization'] = token
}
return config
}, function (error) {
// Do something with request error
return Promise.reject(error)
})
// 每一次拿到数据都需要经过这里 - 添加响应拦截器
axios.instance.interceptors.response.use(function (response) {
// 对响应数据做点什么 --- 关闭loading动画
return response
}, function (error) {
// 对响应错误做点什么
return Promise.reject(error)
})
// 语法
// GET (请求路径,{params: 数据对象})
// (请求路径,{params: {uname:'aaa', pwd:'bbb'}})
// POST (请求路径,数据对象)
// PUT (请求路径,数据对象)
// DELETE (`请求路径/${id}`)
// 统一:HTTP请求动词+模块名
// export const login = postData => { // {username:'', password}
// return ('login', postData).then(res=>)
// }