写在src新创建的api里的request.js里
1.下载axios # npm i axios
2.引入 》 import axios from "axios"
3.创建axios实例--作用:自定义配置 //基准地址、超时时间,请求时是否携带凭证
》const request=
axios.create({baseURL:"http://localhost:3000",timeout:1000,withCredentials: true})
3.请求拦截器 》 request.interceptors.request.use()
4.响应拦截器 》 request.interceptors.response.use()
5.默认导出 》 export default request
请求拦截器我和响应拦截器 根据需求 可以二选一
请求拦截器
request.interceptors.request.use((config) => { const token = localStorage.getItem("token"); if (token) { config.headers = { token: `${token}`, ...config.headers, };} return config;});
响应拦截器
request.interceptors.response.use( function (res) { return res; }, function (err) { return Promise.reject(err);} );
请求拦截器作用:--携带token信息发送请求 》 request.interceptors.request.use()
响应拦截器作用:--将返回的数据做数据处理 》 request.interceptors.response.use()
请求拦截器:发送请求的时候,携带一些信息--请求公共的参数,项目中【N个请求】,只要发请求,会触发请求拦截器。例如在每个请求体里加上token,统一做了处理如果以后要改也非常容易。
响应拦截器:当服务器手动请求之后,做出响应;接收到数据的时候,进行数据过滤、对状态码判断,进行对应的操作。