【Ajax】笔记-取消请求

news2024/11/28 22:42:33

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

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

<!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>

后端服务:

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

测试:

  1. 正常请求
    在这里插入图片描述
    2.在返回结果之前取消
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/769198.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大虾送书第三期】进阶高级Python开发工程师,不得不掌握的Python高并发编程

目录 ✨写在前面 ✨主要内容 ✨本书特色 ✨关于作者 &#x1f990;博客主页&#xff1a;大虾好吃吗的博客 &#x1f990;专栏地址&#xff1a;免费送书活动专栏地址 写在前面 Python成为时下技术革新的弄潮儿&#xff0c;全民Python的发展趋势让人们不再满足于简单地运行Python…

MacBook Java开发环境搭建记录

一、Homebrew的镜像设置 对于Java JDK的安装&#xff0c;我们更推荐使用Homebrew来进行安装管理。但Homebrew的curl国外源的下载速度实在是一言难尽&#xff0c;时常还会发生无法访问的情况。 那么我们此时的解决方法就有两种了&#xff0c;第一种便是使用全局的VPN代理进行下载…

SQLite Expert Personal的简单使用

官方网站&#xff1a; sqliteexpert官方网址 - SQLite administration | SQLite Expert ​—————————————————————————————————————————— 免费的受欢迎的 SQLite 管理工具 SQLite Manager 0.8.0 Firefox Plugin 这是一个 Firefox …

【MySQL】多表查询(四)

&#x1f697;MySQL学习第四站~ &#x1f6a9;本文已收录至专栏&#xff1a;MySQL通关路 ❤️文末附全文思维导图&#xff0c;感谢各位点赞收藏支持~ 之前我们介绍DQL语句&#xff0c;也就是数据查询语句的时候&#xff0c;介绍的查询操作都是单表查询&#xff0c;他的功能当然…

山西电力市场日前价格预测【2023-07-20】

日前价格预测 预测明日&#xff08;2023-07-20&#xff09;山西电力市场全天平均日前电价为337.62元/MWh。其中&#xff0c;最高日前电价为375.88元/MWh&#xff0c;预计出现在06: 00。最低日前电价为291.47元/MWh&#xff0c;预计出现在13: 30。 价差方向预测 1&#xff1a;实…

Elasticsearch 介绍及java集成

一、Elasticsearch 基础介绍 ElasticSearch 是分布式实时搜索、实时分析、实时存储引擎&#xff0c;简称&#xff08;ES)&#xff0c; 成立于2012年&#xff0c;是一家来自荷兰的、开源的大数据搜索、分析服务提供商&#xff0c;为企业提供实时搜索、数据分析服务&#xff0c;…

Django MultiValueDictKeyError 表单数据用request.POST 非表单数据用request.body

表单数据&#xff1a;Content-Type(请求头)为application/x-www-form-urlencoded的数据。 用request.POST获取 a request.POST.get(a) a request.POST[a] alist request.POST.getlist(a) 非表单数据&#xff1a;Content-Type(请求头)为非application/x-www-form-urlenco…

ORACLE TO POSTGRESQL 来自2天上海的印象

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

Qt MenuBar自定义Icon大小

提到QMenu中如何定制Icon的大小&#xff0c;第一个想到的是使用qss来修改样式&#xff0c;便尝试了如下语句&#xff1a; QMenu::icon { width: 24px;height: 24px; } 但是经尝试&#xff0c;这个办法并未奏效&#xff0c;QMenu中图标大小&#xff0c;默认为16*16&#xff0c…

一篇文章教会你,在IntelliJ IDEA 中,一些让你相见恨晚的技巧

1.Easy Code Easy Code我个人在写博客案例demo时用的比较多&#xff0c;它可以快速的将数据库表映射成Java中的entity、controller、service、dao、mapper等文件&#xff0c;少量编码实现快速开发。 先用database连接数据库&#xff0c;在对应表上直接右键执行EasyCode即可生成…

计算机服务器中了360后缀勒索病毒,正确的解密恢复数据库的方式有哪些

随着计算机技术的不断发展&#xff0c;网络安全也引起了人们重视&#xff0c;近期&#xff0c;我们收到很多企业的求助&#xff0c;企业的计算机服务器被360后缀勒索病毒攻击&#xff0c;导致系统内的数据库全部被加密&#xff0c;重要数据无法被读取&#xff0c;严重影响了企业…

你认为大数据的特点是什么?_光点科技

随着信息技术的迅猛发展&#xff0c;大数据已成为当今社会不可忽视的重要资源。它是指规模庞大且快速增长的数据集合&#xff0c;其中包含着宝贵的信息和见解。大数据的特点是多样而复杂的&#xff0c;它们塑造了我们的世界并深刻地影响着各行各业。 巨大的规模&#xff1a;大数…

电脑pdf怎么免费转换成ppt?分享3个好方法!

在现代办公环境中&#xff0c;将PDF文件转换为PPT格式是一项常见的任务。在本文中&#xff0c;我们将分享三种免费的方法&#xff0c;帮助您将电脑上的PDF文件快速转换为PPT&#xff0c;以便更方便地编辑和展示。 方法一&#xff1a;使用Adobe Acrobat Reader DC Adobe Acrob…

Java File类的基本使用方法总结

Java File类的基本使用方法总结 java IO中File的使用是比较频繁的&#xff0c;在文件的上传和删除中都会用到的。比如我们在写管理系统的时候有可能会用到图片的上传&#xff0c;和删除。那么我们就会用到Java的 File来处理。 Java中File的基本使用创建和删除文件&#xff1a;…

剑指29.顺时针打印矩阵 31 栈的压入,弹出序列 03 数组中的重复数字 53缺失的数字 04二维数组中的查找

class Solution { public:vector<int> spiralOrder(vector<vector<int>>& matrix) { if (matrix.size() 0 || matrix[0].size() 0&#xff09; return {};//必须要写到最前面&#xff0c;因为right和bottom-1就是负数了vector<int> result;int l…

STM32开发踩坑——MDK如何生成bin文件

成立这个专栏的目的是&#xff0c;记录自己嵌入式开发遇到的问题&#xff0c;与成功的解决方法&#xff0c;方便自己回顾。 首先介绍下bin文件与hex文件的区别吧&#xff0c; 自己的理解&#xff1a; bin文件&#xff1a;纯粹的二进制&#xff08;0与1&#xff09;文件&…

防范运维端数据安全风险,数据库防水坝在不同行业的落地实践

在历史长河中&#xff0c;充满着强者未屈服于外部危险&#xff0c;却折戟内部威胁的记载&#xff0c;人类总是容易被咄咄逼人的外部所迷惑&#xff0c;反而忽略了近在咫尺的涌动暗潮。 数据安全领域&#xff0c;也面临类似的问题&#xff01; 数据库运维场景&#xff0c;数据安…

Linux 学习记录52(ARM篇)

Linux 学习记录52(ARM篇) 本文目录 Linux 学习记录52(ARM篇)一、汇编语言相关语法1. 汇编语言的组成部分2. 汇编指令的类型3. 汇编指令的使用格式 二、基本数据处理指令1. 数据搬移指令(1. 格式(2. 指令码类型(3. 使用示例 2. 立即数(1. 一条指令的组成 3. 移位操作指令(1. 格式…

MySQL执行过程与bufferPool缓存机制

MySQL执行过程与bufferPool缓存机制 一、SQL执行流程图二、个人理解的Innodb执行引擎执行顺序1、去磁盘文件查找id为1的整页数据&#xff0c;加载到Buffer Pool缓存池中&#xff1b;2、然后写入更新数据的旧值&#xff08;这里指namezhuge的数据&#xff09;&#xff0c;写入到…

【电路原理学习笔记】第4章:能量与功率:4.5 稳压电源与电池

第4章&#xff1a;能量与功率 4.5 稳压电源与电池 电网采用交流电形式将电能从发电站传输给用户&#xff0c;这是因为交流电易于转换成适宜传输的高压和终端用户使用的低压。在远距离传输时&#xff0c;采用高电压传输的效率和效益要高得多。对于给定的功率&#xff0c;较高的…