【问题标题】:Cancel ajax request from chrome developer tools取消来自 chrome 开发者工具的 ajax 请求
【发布时间】:2016-06-10 12:16:22
【问题描述】:

我想在发起后取消来自chrome developer tools 的ajax 请求。例如,我想测试我的后备消息是否正确显示。我可以将No throttling 设置为Offline,这样所有调用都会失败,但我只想测试一个API 失败,以进行调试。

我知道我可以使用abort() 方法,(即我可以通过JavaScript 做到这一点)。我不想为了这个需要而触碰代码。

在 API 的右键单击中有一个 replay XHR 选项,如果有类似 abort XHR 的类似内容,那就太好了。但是没有。

【问题讨论】:

  • 您可以使用任何广告拦截器扩展程序(如uBlock),添加一条规则来拦截您想要调试的任何网址(尽管它的主要功能是拦截广告:D)。
  • 这是一个不错的技巧。谢谢
  • 触发通话后可以关闭wifi或者拔掉网线!
  • 我认为这是一个有效的请求,到目前为止提供的解决方法并不能解决问题。我很乐意阅读更好的。还有其他想法吗?
  • 我知道我可以使用abort() 方法... 无论如何,abort 不会做你想做的事:它不会触发错误事件,你赢了'无法测试您的后备消息。

标签: javascript ajax google-chrome google-chrome-devtools


【解决方案1】:

从 Chrome 59 开始,您可以阻止来自开发者工具本身的网络选项卡的特定请求。

https://developers.google.com/web/updates/2017/04/devtools-release-notes#block-requests

在“网络”面板中右键单击请求,然后选择“阻止请求 URL”。 Drawer 中会弹出一个新的请求阻止选项卡,您可以在其中管理被阻止的请求。

所以,就我而言,我将运行特定 API 的代码块,然后重新运行。 :)

根据评论,这并不是完全取消已经启动的请求,而是通过仅阻止一个请求来检查应用程序在只有一个请求失败时的行为。感谢@Ross Ivantsiv。

【讨论】:

  • 阻塞请求与取消挂起的请求无关。
  • 哦。更新了答案。但是对于应用程序如何工作的要求,如果一个API失败,我们可以阻止请求。
  • 我觉得问题是如何取消AJAX请求!
【解决方案2】:

我使用了一个简单的技巧。在选项卡中按 F5,紧接着按 ESC

Chrome 仍处于活动状态的 XHR 请求在加载新答案之前被取消。

【讨论】:

  • 你的手指必须非常快!
【解决方案3】:
  1. 如果您不知道确切的 URL,您可以通过在 Sources 选项卡中添加 XHR 断点来调试所有 XHR

  1. 或者如果您知道需要调试的 XHR 的名称或部分,您可以通过单击 (+) 图标将其添加到 XHR。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 2013-12-11
    • 2023-03-29
    • 2014-09-16
    • 2012-12-24
    • 2019-10-15
    • 1970-01-01
    相关资源
    最近更新 更多