Vue.js 中怎样使用 axios 拦截请求和响应

阅读时长 4 分钟读完

什么是 axios

axios 是一个基于 Promise 的 HTTP 请求库,可以在浏览器和 Node.js 中使用。它支持请求和响应拦截器,可以用来统一处理请求和响应,实现全局性的错误处理、loading 状态显示等功能。

怎样使用 axios

在 Vue.js 中使用 axios 首先需要安装 axios:

然后在需要使用的组件中引入 axios:

发送请求

使用 axios 发送请求可以这样:

其中 url 是请求的地址,params 是请求的参数,这里使用了 ES6 的箭头函数来处理响应。

拦截请求

当我们需要在发送请求前做一些公共处理,比如添加 loading 状态或者添加 token,我们可以在 axios 实例上添加一个请求拦截器:

在这个例子中,config 是带有请求信息的对象,我们可以通过给它添加一些属性来实现公共的处理。

拦截响应

当我们需要在接收到响应后做一些公共处理,比如关闭 loading 状态或者检查一些错误信息,我们可以在 axios 实例上添加一个响应拦截器:

在这个例子中,response 是带有响应信息的对象,我们可以通过给它添加一些属性来实现公共的处理。

总结

使用 axios 拦截请求和响应可以实现统一的错误处理、loading 状态显示等功能。拦截器的使用不仅可以提高开发效率,还可以让项目更好维护。在实际开发中,需要根据具体需求进行配置。

示例代码

以下是 axios 拦截请求和响应的详细示例代码:

-- -------------------- ---- -------
------ ----- ---- --------

-- -- ----- --
----- -------- - --------------
    -------- ---------------------------
    -------- ------
---

-- -------
---------------------------------------- -- -
    -- ------------
    ---------------------------- - ------------------------------
    ------ -------
-- ----- -- -
    -- ----------
    ------ ----------------------
---

-- -------
------------------------------------------- -- -
    -- ----------
    -- ---------------- --- --- -- ------------------ --- -- -
        ------ -------------------
    - ---- -
        ------ ----------------------------------
    -
-- ----- -- -
    -- ----------
    -- ---------------------- --- ---- -
        ---------------------------------
        ------------------
    - ---- -
        ------ ----------------------
    -
---

------ ------- ---------

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f06eb8f6b2d6eab3a77d18

纠错
反馈