axios拦截器

简介: axios拦截器

1.请求过程概述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link crossorigin="anonymous" href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
</head>
<body>
    <script>
        // 设置请求拦截器
        axios.interceptors.request.use(function(config) {
            console.log("请求拦截器成功");
            return config;
        }, function(error) {
            console.log("请求拦截器失败");
            return Promise.reject(error);
        });
        // 设置响应拦截器
        axios.interceptors.response.use(function(response) {
            console.log("响应拦截器成功");
            return response;
        }, function(error) {
            console.log("响应拦截器失败");
            return Promise.reject(error);
        });
        axios({
            method: "GET",
            url: "http://localhost:3000/posts",
        }).then(response => {
            console.log(response);
            console.log("请求过程成功!!!");
        })
    </script>
</body>
</html>

效果展示:


2.请求顺序解析

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link crossorigin="anonymous" href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
</head>
<body>
    <script>
        // 设置请求拦截器
        axios.interceptors.request.use(function(config) {
            console.log("请求拦截器成功  1号");
            // throw "参数出了问题";
            return config;
        }, function(error) {
            console.log("请求拦截器失败   1号");
            return Promise.reject(error);
        });
        axios.interceptors.request.use(function(config) {
            console.log("请求拦截器成功  2号");
            // throw "参数出了问题";
            return config;
        }, function(error) {
            console.log("请求拦截器失败  2号");
            return Promise.reject(error);
        });
        // 设置响应拦截器
        axios.interceptors.response.use(function(response) {
            console.log("响应拦截器成功  1号");
            return response;
        }, function(error) {
            console.log("响应拦截器失败  1号");
            return Promise.reject(error);
        });
        axios.interceptors.response.use(function(response) {
            console.log("响应拦截器成功  2号");
            return response;
        }, function(error) {
            console.log("响应拦截器失败  2号");
            return Promise.reject(error);
        });
        axios({
            method: "GET",
            url: "http://localhost:3000/posts",
        }).then(response => {
            console.log(response);
            console.log("请求过程成功!!!");
        })
    </script>
</body>
</html>

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
7月前
axios拦截器
axios拦截器
38 0
|
JavaScript 前端开发
axios拦截器的使用?
axios拦截器的使用?
|
2月前
|
缓存 JavaScript 搜索推荐
|
2月前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
149 4
|
6月前
|
前端开发 开发工具 数据安全/隐私保护
大事件项目13----axios请求拦截器,统一携带token
大事件项目13----axios请求拦截器,统一携带token
|
6月前
|
前端开发 开发工具 git
大事件项目15----axios响应拦截器,统一判断401做被动退出
大事件项目15----axios响应拦截器,统一判断401做被动退出
|
5月前
|
JavaScript 前端开发 数据格式
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
306 0
|
7月前
|
前端开发 JavaScript 数据格式
vue3中axios添加请求和响应的拦截器
vue3中axios添加请求和响应的拦截器
201 1
|
7月前
|
JavaScript
axios拦截器:每次请求自动带上 token
axios拦截器:每次请求自动带上 token
181 0
|
7月前
|
前端开发
axios拦截器的使用?
axios拦截器的使用?
53 0