axios和fetch区别与使用

时间:2025-03-06 09:20:06
//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=>) // }