axios发送常见请求方式以及拦截器的封装

一,常见请求

javascript 复制代码
//1.get--传递params

            axios.get("/test",{
                params:{
                    
                }
            })

//2.post--传递params

                 axios.post("/test",{},{
                params:{
                    
                }
            })
//3.post--传递body

                  axios.post("/test",{

                     name:""

                      })

二,封装请求拦截器

javascript 复制代码
import axios  from "axios";

const  _axios=axios.create({
    baseURL:"http://localhost:8088",

})

_axios.interceptors.request.use(
    function (config){
        //统一请求添加token
      config.headers={
        Authorization:"wlb-wlb123456"
      }
      return config;
    },
    function  (error){
       return Promise.reject(error)
    }
)

_axios.interceptors.response.use(
    function (config){
      return config;
    },
    function  (error){
       //可以在这里做统一的响应状态判断
       if(error.status===400){
         return Promise.resolve(400)
       }else if(error.status===401){
        //未授权跳转到登录页面
       }
       //如果上边没有处理对应的状态,那么异常还是会抛出给浏览器,所以,可以通过
       //每个状态判断完成以后Promise.resolve(400),告诉浏览器自己已经解决了问题,就不会再抛出去了
       return Promise.reject(error)
    }
)

export default _axios;

请求拦截器可以帮我们做请求携带token,响应拦截器可以帮我们做响应状态判断,做对应的逻辑

相关推荐
万少27 分钟前
我是如何使用 Trae IDE 完成《流碧卡片》项目的完整记录
前端·后端·ai编程
9***Y4828 分钟前
前端微服务
前端·微服务·架构
ByteCraze33 分钟前
我整理的大文件上传方案设计
前端·javascript
前端小白۞1 小时前
vue2 md文件预览和下载
前端·javascript·vue.js
十里-1 小时前
为什么创建1x1的gif图片,和png 或者jpg图片有什么区别
前端
u***u6851 小时前
Vue云原生
前端·vue.js·云原生
OpenTiny社区1 小时前
TinyEngine 低代码实时协作揭秘:原理 +实操,看完直接用!
前端·vue.js·低代码
5***79002 小时前
Vue项目性能优化
前端·javascript·vue.js
天若有情6733 小时前
【c++】手撸C++ Promise:从零实现通用异步回调组件,支持链式调用+异常安全
开发语言·前端·javascript·c++·promise