如何使用javascript取消http请求

2024-06-25

我有一个页面,其中有一个事件处理程序附加到onclick事件。当事件触发时,它将文本框的内容传递给GET要求。自从url 不在同一个域中所以我创建一个脚本标签并将网址附加到其源,如下所示

elem.onclick=fire;

function fire()
{
var text=document.getElementById('text').value;
var script=document.createElement("script");
script.className="temp";
script.src="some url"+"?param="+text;
document.body.appendChild(script);
}

现在,如果该事件被触发并且不止一次我想取消所有先前的事件GET请求(因为他们仍然可能收到响应)并做出GET请求最新文本。但为此我需要取消之前的请求。 我试过

document.body.removeChild(script);
script.src=null;

但这不起作用Firefox(我在用Firefox 5)虽然这适用于Google Chrome.有谁知道这些请求是否可以在 Firefox 中取消,如果可以,那么如何取消?


UPDATE根据阿尔弗雷德的建议,我用了window.stop取消请求,但不取消请求,而是将其挂起。这意味着当我查看 firebug 时,看起来好像正在发出请求,但没有响应。


解决方案很简单:要创建 HTTP 请求,请使用<img>代替<script>元素。而且你总是必须改变src的属性same元素。

var img;
function fire()
{
    var text = document.getElementById('text').value;
    var im = img || (img = new Image());
    im.src = "url"+"?param="+text;
}

您可以通过执行以下操作来确定它确实有效:您请求的 URL 应该有很长的响应时间(您可以使用 PHP 的sleep功能)。然后,在 Firebug 中打开“网络”选项卡。如果您多次单击该按钮,您将看到所有不完整的请求都将被中止。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用javascript取消http请求 的相关文章

  • 在 JavaScript 中使用 Array.map 删除元素

    我想使用以下方法过滤一系列项目map 功能 这是一个代码片段 var filteredItems items map function item if some condition return item 问题是过滤掉的项目仍然使用数组中的
  • javascript 可以从父页面访问 iframe 元素吗?

    我的页面上有 iframe iframe 和父页面位于不同的域中 父页面上的 javascript 代码可以访问此 iframe 内的元素吗 如果页面来自不同的域 则不应该这样做 浏览器安全沙箱应该阻止这种类型的访问 当两个页面来自不同的时
  • 可以跨 iframe 共享 javascript 导入吗?

    我有一个 Web 应用程序 其中有多个 iframe 它们都需要导入相同的 javascript 库 例如 jquery 有没有办法只加载一次并以某种方式在所有 iframe 之间共享该数据 我不想让我的页面加载缓慢 因为它为每个 ifra
  • 用玩笑模拟高阶组件

    我想确保 HOC 组件被开玩笑地调用 但我似乎无法理解jest mock上班 我的 HOC 是这样的 const withEntity args gt const wrappedComponent WrappedComponent gt c
  • Javascript 字符串/整数比较

    我在 HTML 中存储一些客户端参数 然后需要将它们作为整数进行比较 不幸的是我遇到了一个我无法解释的严重错误 该错误似乎是我的 JS 将参数读取为字符串而不是整数 导致我的整数比较失败 我生成了一个错误的小例子 我也无法解释 运行时以下返
  • Webpack、Sass - 超出最大调用堆栈大小

    我正在为我的 JS 应用程序使用 Webpack 对于样式 我使用 Sass 我的应用程序非常大 所以我使用了很多 mixins 和 includes 在过去的几天里 虽然应用程序的 SASS 数据增长了一些 我多次遇到相同的以下错误 未捕
  • Bootstrap 页脚不在底部

    我试图强制我的页脚位于网站底部 我不希望它在滚动时粘住 只是在向下滚动网页时出现在底部 目前 网页显示时页脚位于内容下方 我添加了这样的代码bottom 0 并发现它粘住了并且不适合我的网站 我还添加了这样的代码html body heig
  • 禁用拉斐尔论文上的浏览器上下文菜单

    我有一篇拉斐尔论文定义为R1 Raphael 0 0 800 600 我想在本文中禁用上下文菜单 以便我可以捕获鼠标右键单击事件 我没有这样的Raphael someDiv 800 600 禁用 div 的 oncontextmenu 属性
  • html/js 中从右到左和/或从上到下的文本?

    如何在浏览器中为用户输入创建从右到左和从上到下的文本字段 有没有本地方法可以做到这一点 或者也许有解决方法 从上到下可能像日语或象形文字 对于 RTL 文本字段 您可以使用 HTMLdir属性 如 ime Vidas 已经提到的 或 wit
  • Javascript CORS 图像/画布操作

    我正在尝试从另一个已配置为允许 CORS 的域检索图像 并操纵像素 然后我想显示结果并能够操纵结果 我可以在我请求的图像上使用 getImageData 和 toDataURL 所以我知道服务器部分可以工作 但是 当我尝试将图像的 src
  • GraphQL 错误字段类型必须是输入类型,但得到:

    这是突变 const createNotebook mutationWithClientMutationId name CreateNotebook inputFields token type GraphQLString details
  • 发送带有图像的嵌套 JSON

    我一直在尝试研究一种能够通过 Ajax 将嵌套 JSON 请求发送回服务器的方法 根据我的理解 我们主要用于向服务器发送图像或文件的 formdata 在这种情况下不起作用 因为 FormData 似乎不处理嵌套对象 这就是我需要发送的有效
  • 抓取 Shopee API v4

    我有一个最终项目 其中我想要检索的数据是通过在shopee上抓取数据来获取的 但是当我在隐藏的API上抓取shopee时遇到问题 当我在Insomnia脚本上尝试时 脚本会运行 但是当我尝试时在本地或 google colab 脚本上 这是
  • Lighthouse 多个 URL

    我需要对一个网站进行全面审核 但我想知道是否有任何方法可以让 Lighthouse 做到这一点 我知道他们不支持完整的站点审核或多个 URL 但我发现可以使用 bash 脚本来完成 因此 我将不胜感激对此案的任何帮助 或者您可能会推荐任何灯
  • Google Maps API - 调整大小会生成空白区域

    我正在研究一个看起来非常简单的功能 但却引起了一些头痛 我使用 GIS 并将其与 Google 地图集成 其中一位客户要求能够打开一个仅显示地图的单独弹出窗口 打开窗口不是问题 但当我尝试扩展包含地图的 IFrame 的宽度时 为了适应窗口
  • 为什么我的数据没有存储到我的 Firebase 实时数据库中?

    我正在尝试为网络应用程序制作一个注册页面 这会将数据发送到 firebase 数据库 我已阅读官方 firebase 文档并按照说明写入数据 但什么也不会写 在我的数据库控制台中 它显示的所有内容都是空 而不是我的数据 我没有收到控制台错误
  • 如何从 Instagram 的 media_preview 原始数据重新创建预览?

    如果您从 Instagram 的 API 获取 JSON 数据 您会发现media previewkey 其值是一些 Base64 编码的数据 它看起来确实像一些非常小的预览二进制数据 也许是压缩的 Take 这个帖子 https www
  • 如何从索引文件迭代多个导入的模块

    我有一个名为Polygons我在那里创建了一个index jsfile 以导出目录中的所有文件 它看起来像这样 export default as europe from europe export default as northAmer
  • 预览MouseMove 与 MouseMove

    我有相当多的 XAML 经验 但最近我注意到我的大多数同事都使用预览鼠标移动代替鼠标移动事件 我一直用鼠标移动它对我很有帮助 但我忍不住问我什么时候应该使用预览鼠标移动什么时候鼠标移动 有什么区别 各自有什么优点和缺点等等 PreviewM
  • jQuery、$(element).click 在 ie<9 上不起作用

    我有一个像这样的 jQuery 点击事件 document ready function id secteur activite click function console log ok 在 firefox 和 ie9 上 当我单击我的元

随机推荐

  • C - printf("\a") 不会发出警报[重复]

    这个问题在这里已经有答案了 这是我的 C 代码 include
  • 在 C++ 中按大小零分配内存?

    int a 10 int p new int 0 p a cout lt lt p lt lt endl 在C 中 如果分配内存大小为零会发生什么 分配后 我得到有效的内存指针 并打印有效的数字 但我认为 new 运算符应该返回类似 FAI
  • 如何限制 SQLite / MySQL 中的列值

    我想限制表中的列值 例如 列值只能是car or bike or van 我的问题是如何在 SQL 中实现这一点 在数据库端执行此操作是一个好主意还是应该让应用程序限制输入 我还打算在将来添加或删除更多值 例如 truck 我使用的数据库类
  • Mac 上的 FFMPEG 和 PHP 不起作用

    我需要你的帮助 目前我使用 Mac OS X 10 9 4 和 xampp apache 1 8 3 3 我需要使用ffmpeg 版本3 2 通过php转换视频文件exec 但我无法让它发挥作用 我做了一些运行终端命令行的测试 系统运行正常
  • ASP.NET MVC 3 中未经身份验证用户的缓存主页

    我的网站有一个主页 我想为匿名用户缓存该页面 并将其设置为经过身份验证的用户的 私有 以便他们将其保存在自己的计算机上 而不是其他地方 因此 如果用户是匿名的 我想将页面保存在服务器缓存中 并使用以下命令保存在浏览器缓存中Cache con
  • 无需打开即可打印 PDF

    我想要构建的是 通过单击按钮 我想触发 PDF 文件的打印 但不打开它 Print PDF Click gt printPdf pdfUrl 我第一次尝试的方法是使用 iframe var iframe null This is suppo
  • 如何使用 BoW 正确训练 OpenCV SVM

    我无法训练 SVM 识别我的对象 我正在尝试使用 SURF Bag Of Words SVM 来做到这一点 我的问题是分类器没有检测到任何东西 所有结果都是0 这是我的代码 Ptr
  • 完美批量转发参数

    我有一个小的 python 脚本 args py import sys print sys argv 我怎样才能写一个 bat将所有参数转发给该脚本的包装文件 为了从测试中消除我的 shell 我将调用它 import subprocess
  • Tensorflow ValueError:形状 (?, 1) 和 (?,) 不兼容

    当我用 3 个 lstm 层运行代码时 我遇到了这个错误 不知道如何修复它 任何人都可以帮忙 这里 MAX SEQUENCE LENGTH 250 运行成本函数后 我收到错误 ValueError 形状 1 和 不兼容 Generate a
  • 让 ISSkin 与最新的 Inno Setup Unicode 配合使用

    我是第一次尝试ISSkin http isskin codejock com 使用 Inno 设置 我想尝试一下黑色风格 所以我尝试了他们的示例 Setup AppName ISSkin Example AppVersion 1 0 0 2
  • 如何在 Windows 窗体应用程序中跟踪 C# 中两次按钮单击之间的时间?

    我已经用 C 创建了一个 Windows 窗体应用程序 其中接受用户的输入 我想计算用户在两次提交之间花费的时间 我该怎么做 Use 跑表 http msdn microsoft com en us library system diagn
  • 在 WebAPI OData 请求中包含相关实体

    有没有办法在 OData 请求中包含相关实体 例如 我有一个 Person 实体和一个 Task 实体 这种关系是一对多的 一个人有很多任务 如果我使用 OData 请求查询数据 odata Person 要获取所有 Person 实体 返
  • Mac OS X 10.7 Lion 上的 AVFoundation 核心动画问题

    在 Mac OS X 10 7 中 Apple 引入了 AVFoundation 我正在尝试生成一个包含动画形状的简单快速电影 问题是核心动画没有渲染 我最终只有一个空白的 黑色 视频 下面是我使用的代码 我尝试了很多变体 但遗憾的是它们都
  • primefaces 面包屑无法与 ui:repeat 一起使用

    我无法渲染面包屑对素面的控制 我正在使用 ui repeat 动态构建面包屑 当我把它包进里面的那一刻p 面包屑标签 我看不到页面上的控件 以下代码是我在 xhtml 中使用的
  • 将 Sage Line 50 与 Windows 应用程序集成

    我必须将 C Windows 应用程序与 Sage Line 50 集成 将所有发票详细信息从应用程序发送到 Sage 我在 Google 上搜索 大多数地方都说要集成 Sage Line 50 我们需要使用 Sage 开发套件 SDK 但
  • 使用 Chrome 扩展 chrome.storage.local 实现无限存储?

    The docs https developer chrome com docs extensions reference storage property local对于 Chrome 扩展chrome storage local sta
  • 在 Common Test 测试运行期间,Lager 调用失败

    我决定在我的 Erlang 项目中设置 lager 我正在使用 erlang mk 所以我添加了 ERLC OPTS parse transform lager transform 到我的 Makefile 我可以跑make all并编译模
  • 如何从 iPhone 应用程序中的 URL 读取 .rtf 文件

    我的应用程序需要从 URL 读取 rtf 文件 我将把它读为 NSURL url NSURL URLWithString NSString stringWithFormat rtf URL NSError error NSString co
  • Heroku dyno/worker 在开始时崩溃

    我有一个用 Rails 编写的应用程序 部署在 Heroku 上 我以前一直在开发1个web dyno 但是今天我发布了应用程序 流量相当大 所以我决定增加到4个web dyno和1个worker dyno 我不知道为什么当我这样做时总是h
  • 如何使用javascript取消http请求

    我有一个页面 其中有一个事件处理程序附加到onclick事件 当事件触发时 它将文本框的内容传递给GET要求 自从url 不在同一个域中所以我创建一个脚本标签并将网址附加到其源 如下所示 elem onclick fire function