如何確定在JavaScript應用程序中發出請求的位置?在頁面上查找HTTP請求的來源
我正在調試一個大的應用程序,它會在某處生成不正確的HTTP請求。我相信我沒有正確配置生成請求的API(Google地圖)。如果我能夠找出請求的地址,那麼我可以追溯到URL的構建,並查看我需要設置正確參數的位置。
是否有可能(在Safari/Chrome/Firefox中使用Firebug或其他任何方式)在任何請求發生時中斷?
如何確定在JavaScript應用程序中發出請求的位置?在頁面上查找HTTP請求的來源
我正在調試一個大的應用程序,它會在某處生成不正確的HTTP請求。我相信我沒有正確配置生成請求的API(Google地圖)。如果我能夠找出請求的地址,那麼我可以追溯到URL的構建,並查看我需要設置正確參數的位置。
是否有可能(在Safari/Chrome/Firefox中使用Firebug或其他任何方式)在任何請求發生時中斷?
在Firebug中,有一項新功能可以讓您在製作XmlHttpRequest
時中斷。然後,您可以檢查堆棧,看看誰的來電者是:
打破下一頁網絡事件
- 如果您在調試器中停止,無論是點擊藍色繼續按鈕或重新加載頁面
- 選擇Firebug Net Panel
- 點擊下一步中斷或暫停按鈕()
- 點擊此按鈕打破XHR
- 螢火蟲將在XHR事件
在這種情況下該請求被由破(例如插入圖像標籤),您可能會在DOM更改時斷開:
的LiveHttpHeaders附加也可以用來觀看所有的HTTP請求,然後你可以用grep所使用的一些標識源。
幾個其他的方式來設置Firebug的斷點:
插入這個break語句插入代碼:
debugger;
打開腳本選項卡,選擇您想要的行在
如果你正在尋找一個好的插件,你可能會發現Tamper Data(對於Firefox)真的很有用。一旦你開始「篡改」,它會彈出一個消息框,顯示所有HTTP POST詳細信息,包括各種屬性的值。
我不確定您是否可以將其配置爲中斷每個請求,但在FireBug中,您可以使用Net
和Console
(對於ajax)選項卡查看所有傳出請求的列表。
盈虧上XHR是個好主意突破,但事實證明,請求是下的HTML子標籤'Net'而不是XHR子標籤。抹灰似乎是唯一的出路。 – eaubin 2009-12-28 18:16:59
其實Firebug 1.5測試版確實有我想要的跟蹤擴展/ NET_EVENTS打開。 – eaubin 2009-12-28 18:37:42