gpt4 book ai didi

javascript - 如何查看ajax调用完成后将执行的所有方法?

转载 作者:行者123 更新时间:2023-11-28 15:16:45 25 4
gpt4 key购买 nike

假设我有一个由我无法控制的页面创建的 ajax 调用。

页面本身创建一个请求,获取响应并继续其工作。该页面的代码都不是我的代码。

如何查看哪些方法将作为该请求的回调执行?

换句话说,我如何知道页面将如何处理响应?

重要:我需要能够对多个不同的调用执行此操作,因此我希望“以编程方式”了解这一点。

<小时/>

是否有一种简单的方法来列出分配给事件的所有处理程序?

例如,获取“onreadystatechange”事件并找出分配给它的监听器?

最佳答案

在 Chrome 中,找到触发 AJAX 的代码

  • 使用 Chrome 的网络标签。
  • 让 AJAX 触发,然后查找类型为“xhr”的相应行。
  • 然后查看同一行的发起者并将鼠标悬停在文本上。它应该显示堆栈跟踪的工具提示,并在最顶部显示请求之前的最新代码。
  • 单击最顶部的条目。它应该将您带到“Sources”选项卡,其中包含启动 AJAX 的代码。回调应该在附近的某个地方。
    • 如果您知道跟踪中的条目是一个库,请单击跟踪中看起来不像库的某个内容。
    • 如果您碰巧遇到精简代码,Chrome 有一个格式化程序。它是左下角的“大括号”图标 ({})。进一步遇到格式化文件将显示它已格式化。

成功 AJAX 后跟踪代码

  • 在源上,在回调所在位置添加断点。
  • 再次运行 AJAX,完成后浏览器将在该断点处停止。
  • 然后使用 F10 单步执行代码。使用 F11 进入函数内部。

Chrome:https://developer.chrome.com/devtools/docs/javascript-debugging

火狐:https://developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/Set_a_breakpoint

I need to be able to do that for several different calls, so I wish to know that "programmatically".

只有当您有权访问(您的代码可以 Hook 或在范围内)操作中调用的任何函数(覆盖请求的操作方式,或覆盖回调序列中的某些内容)时,这才是可能的。如果 AJAX恰好使用 jQuery,请关注 this answer 使用 AJAX Hook 。

关于javascript - 如何查看ajax调用完成后将执行的所有方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33555208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com