赞
踩
request.js
//对axios进行二次封装 import axios from "axios" //引入进度条 import nprogress from "nprogress" import 'nprogress/nprogress.css' //1.利用axios对象方法create,去创建一个axios实例 //2.request就是axios,只不过稍微配置了一下 const requests = axios.create({ //配置对象 // `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。 // 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL baseURL : '/api', // `timeout` 指定请求超时的毫秒数(0 表示无超时时间) // 如果请求话费了超过 `timeout` 的时间,请求将被中断 timeout: 5000, }) //请求拦截器,在发请求之前可以监测到,可以在请求发出去之前做一些事情 requests.interceptors.request.use((config)=>{ //在请求之前做些什么 //进度条开始显示 nprogress.start() //config:配置对象,对象里面有一个属性很重要,headers请求头 return config },(error)=>{ //对请求失败做些什么 return Promise.reject(new Error('faile')) }); //响应拦截器 requests.interceptors.response.use((res)=>{ //进度条结束显示 nprogress.done() //成功的回调函数,服务器响应数据回来以后,响应拦截器可以监测到,可以做一些事情 return res.data },(error)=>{ //响应失败的回调函数 return Promise.reject(new Error('失败')) }) // 对外暴露 export default requests;
index.js
//引入二次封装的axios
import request from './request';
//三级菜单的请求地址 /api/product/getBaseCategoryList GET 没有任何参数
//对外暴露一个函数,只要外部调用这个函数,就想服务器发起ajax请求、获取咱们的三级菜单数据。当前咱们这个函数只需要把服务器返回结果返回即可。
export const reqgetCategoryList = () => request.get('/product/getBaseCategoryList')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。