2015-11-05 56 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*/}); 
相關問題