【Ajax】笔记-取消请求

在进行AJAX(Asynchronous JavaScript and XML) 请求时,有时候我们需要取消正在进行的请求。取消请求可以帮助我们提高用户体验,病减少不必要的网络流量和服务器负载。

取消请求的方法

在AJAX请求中,我们可以使用以下方法来取消正在进行的请求:

使用abort()方法:使用abort()方法可以取消当前正在进行的ajax请求。改方法会终端请求病终止与服务器的连接。

前端JS

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>取消请求</title>
</head>
<body>
    <button>点击发送</button>
    <button>点击取消</button>
    <script>
        //获取元素对象
        const btns = document.querySelectorAll('button');
        let x = null;

        btns[0].onclick = function(){
            x = new XMLHttpRequest();
            x.open("GET",'http://127.0.0.1:8000/delay');
            x.send();
        }

        // abort
        btns[1].onclick = function(){
            x.abort();
        }
    </script>
</body>
</html>

后端服务:

javascript 复制代码
//延时响应
app.all('/delay', (request, response) => {
    //设置响应头  设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    response.setHeader('Access-Control-Allow-Headers', '*');
    setTimeout(() => {
        //设置响应体
        response.send('延时响应');
    }, 1000)
});

测试:

  1. 正常请求

    2.在返回结果之前取消
相关推荐
zlbbme_1 小时前
Android Studio学习笔记:为应用添加文本和图片
笔记·学习
李白洗一夜3 小时前
(新手友好)MySQL学习笔记(12):触发器,视图,三范式
笔记·学习·mysql
茫忙然10 小时前
【WEB】Polar靶场 Day7 详细笔记
笔记
AA-代码批发V哥10 小时前
Axios之核心语法详解
ajax
今天背单词了吗98011 小时前
算法学习笔记:17.蒙特卡洛算法 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·笔记·考研·算法·蒙特卡洛算法
逐花归海.12 小时前
『 C++ 入门到放弃 』- 多态
开发语言·c++·笔记·程序人生
致***锌12 小时前
期权交易完整版教程简介
笔记
棱镜研途12 小时前
学习笔记丨卷积神经网络(CNN):原理剖析与多领域Github应用
图像处理·笔记·学习·计算机视觉·cnn·卷积神经网络·信号处理
嘉琪00114 小时前
2025 js——面试题(7)——ajax相关
开发语言·javascript·ajax
潇-xiao16 小时前
进程状态 + 进程优先级切换调度-进程概念(5)
linux·笔记