如何找出哪个Javascript导致jQuery Ajax请求?

Str*_*ger 55 javascript jquery

如何从Ajax请求触发的位置找到Javascript代码?在Firebug的控制台中,我们能够识别文件和行号,但是如果我们使用$.ajax或者使用$.post类似jQuery的功能,它只会在Firebug的控制台中记录jQuery库文件.有没有办法获得jQuery函数的实际触发点?

t.n*_*ese 127

使用ChromeDevToolSources.

如果你打开它,你会在右侧看到XHR/fetch Breakpoints,如果你检查Any XHR你的脚本会在每次使用的请求时暂停XMLHttpRequest(所以请求不jsonp用于请求).

如果Any XHR选项不可用(仅No Breakpoints列出),则必须单击+将该Break when URL contains:字段留空并按Enter键.这将创建Any XHR选项.(感谢Yasmin French提供此信息)

使用Call Stack(也在右侧),您将看到请求的来源是什么.

但正如我所提到的,jsonp如果你想跟踪这些请求,你不需要使用非缩小版本jQuery(或包含缩小版本的源图)并在其源代码中设置断点.要查找此部分,您可以使用以下步骤:

  1. jsonp在代码中创建一个请求并在此处设置断点.
  2. 调用代码的这一部分,以便切换到调试器.
  3. 使用Step into,现在你应该在jQuery代码中.如果您现在在那里放置一个断点,Chrome将针对每个jsonp请求停止.

注意:有时Chrome(可能仅在测试版开发版中)在重新加载时往往会丢失断点,因此您需要检查它们在重新加载时是否仍然存在.

  • @Tony_Henrich 如果您已经弄清楚了,那么此评论适用于未来想要找出答案的人,单击 + 按钮或右键单击并单击“添加断点”,然后在字段为空时按 Enter 键,它将自动填充“任何 xhr”复选框 (2认同)

Pun*_*t S 13

这在早期的Chrome版本中可能不存在,但版本56.0.2924.87有一个"启动器"列,告诉html/js文件以及该文件中发起请求的确切行.

此请求可以是XHR,http请求jpg,css或其他任何内容.

非常时尚,有助于追溯请求.

这是如何使用它?

  1. 按"F12"打开开发人员控制台.
  2. 在每个请求中查找"Initiator"列,您可以看到"jquery.min.js:4",这意味着请求是从文件"jquery.min.js"的第4行开始的.

在此输入图像描述