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

标签 javascript jquery

如何找到触发 Ajax 请求的 Javascript 代码?在 Firebug 的控制台中,我们能够识别文件和行号,但如果我们使用 $.ajax$.post 或 jQuery 的一些类似功能,它将仅在 Firebug 的控制台中记录 jQuery 库文件。有什么办法可以得到jQuery函数的实际触发点吗?

最佳答案

DevTool 中使用 Chrome 你有 Sources

如果你打开它,你会在右侧看到 XHR/fetch Breakpoints,如果你选中 Any XHR,你的脚本将在每个使用 的请求时暂停XMLHttpRequest(所以请求不使用 jsonp 请求)。

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

通过 Call Stack(也在右侧),您将看到请求的来源。

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

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

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

关于javascript - 如何找出哪个 Javascript 导致 jQuery Ajax 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17208268/

相关文章:

javascript - 开发中新的 javascript 文件未加载到浏览器

javascript - 无法在 javascript 中为音频设置 currentTime(仅限 IOS)

jquery - chrome中的jScrollPane 2.0高度问题

java - 我无法访问外部 javascript 文件中的 freemarker 变量

javascript break in for-await 循环完成生成器

javascript - 准确的 JavaScript 计时器

javascript - ZF2 : How to call a view helper in a service?

jQuery 鼠标事件不允许移动

javascript - Highcharts:Y 轴标签上的工具提示

javascript - Zurb 轨道 slider 未加载