2015-11-05 20 views
0

假设我有一个由我不控制的页面创建的ajax调用。如何查看ajax调用完成时将执行的所有方法?

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

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

换句话说,我怎么能知道页面将做什么与响应?

重要:我需要能够做几个不同的调用,所以我想知道,“编程”。


是不是有一个简单的方法来列出分配给事件的所有处理?

对于instante,采取“onreadystatechange”事件并找出分配给它的听众?

回答

3

在Chrome中,以定位的生火的AJAX

  • 使用Chrome的网络选项卡上的代码。
  • 让AJAX着火,然后查找与“xhr”类型相应的行。
  • 然后查看同一行的启动器并将鼠标悬停在文本上。它应该显示一个堆栈跟踪的工具提示,并在最上面的请求之前提供最新的代码。
  • 点击最上面的条目。它应该将您转到Sources选项卡,代码将启动AJAX。回调应该在附近。
    • 如果您知道跟踪中的条目是一个库,请单击跟踪中看起来不像库的其他东西。
    • 如果你碰巧遇到缩小的代码,Chrome有一个格式化程序。这是左下角的“大括号”图标({})。进一步遇到格式化文件将显示格式。

要跟踪代码成功的AJAX

  • 在源后,添加断点到回调。
  • 再次运行AJAX,并在浏览器完成时停止在该断点处。
  • 然后用F10逐步完成代码。用F11进入功能。

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

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

我需要能够做到这一点的几个不同的电话,所以我想知道, “编程”。

这是唯一可能的,如果你有机会(你的代码能勾到,或者是范围之内),以任何的所谓的操作功能(无论是覆盖对请求进行操作,或覆盖在回调序列东西。如果AJAX恰好使用jQuery,使用AJAX挂钩遵循this answer

+0

我怎么能知道那里的回调是什么?这是一个网页我不没有控制权和我不控制的请求 –

+0

谢谢你牛逼!虽然你的最后一个链接让我回到我自己的问题!我一直试图重写XMLHttpRequest“on ....”事件,但没有成功..... –

1

你的问题还不清楚,但你从jQuery的尝试ajaxStop?

$(document).ajaxStop(function(){/*Callback here*/}); 
相关问题