2009-12-28 36 views
2

如何確定在JavaScript應用程序中發出請求的位置?在頁面上查找HTTP請求的來源

我正在調試一個大的應用程序,它會在某處生成不正確的HTTP請求。我相信我沒有正確配置生成請求的API(Google地圖)。如果我能夠找出請求的地址,那麼我可以追溯到URL的構建,並查看我需要設置正確參數的位置。

是否有可能(在Safari/Chrome/Firefox中使用Firebug或其他任何方式)在任何請求發生時中斷?

回答

4

在Firebug中,有一項新功能可以讓您在製作XmlHttpRequest時中斷。然後,您可以檢查堆棧,看看誰的來電者是:

  • Break-on-XHR

    打破下一頁網絡事件

    1. 如果您在調試器中停止,無論是點擊藍色繼續按鈕或重新加載頁面
    2. 選擇Firebug Net Panel
    3. 點擊下一步中斷或暫停按鈕()
    4. 點擊此按鈕打破XHR
    5. 螢火蟲將在XHR事件

在這種情況下該請求被由破(例如插入圖像標籤),您可能會在DOM更改時斷開:

LiveHttpHeaders附加也可以用來觀看所有的HTTP請求,然後你可以用grep所使用的一些標識源。

幾個其他的方式來設置Firebug的斷點:

  • 插入這個break語句插入代碼:

    debugger; 
    
  • 打開腳本選項卡,選擇您想要的行在

+0

盈虧上XHR是個好主意突破,但事實證明,請求是下的HTML子標籤'Net'而不是XHR子標籤。抹灰似乎是唯一的出路。 – eaubin 2009-12-28 18:16:59

+0

其實Firebug 1.5測試版確實有我想要的跟蹤擴展/ NET_EVENTS打開。 – eaubin 2009-12-28 18:37:42

1

如果你正在尋找一個好的插件,你可能會發現Tamper Data(對於Firefox)真的很有用。一旦你開始「篡改」,它會彈出一個消息框,顯示所有HTTP POST詳細信息,包括各種屬性的值。

3

我不確定您是否可以將其配置爲中斷每個請求,但在FireBug中,您可以使用NetConsole(對於ajax)選項卡查看所有傳出請求的列表。