2010-09-26 80 views
7

如何查看JavaScript中最後一個GET http請求?基本上我所看到的是我能看到我的螢火蟲控制檯。當XMLHttpRequests在控制檯中顯示時,我看到類似如下的行:如何在JavaScript中查看最後一個GET HTTP請求

GET http://www.domain.com/php/file.php?q0&c=1 200 OK 163ms 

如何在JavaScript中查看該URL?

編輯:只是要清楚我正在尋找GET ...和... 200之間的URL。我不在乎別的。我不想要任何其他信息。

回答

-1

我結束了在PHP中使用$_SERVER['REQUEST_URI']的解決方法,然後將它傳遞給JavaScript。

9

您可能需要使用「跟蹤」代碼修改XMLHttpRequest.prototype.opendecorate。事情是這樣的:

var ajaxCalls = []; 

XMLHttpRequest.prototype._originalOpen = XMLHttpRequest.prototype.open; 

XMLHttpRequest.prototype.open = function(method, url, async, user, password) { 
    ajaxCalls.push(url); 
    this._originalOpen(method, url, async, user, password); 
} 

ajaxCalls陣列將會逐漸加入你的Ajax請求的URL。最後的請求將在ajaxCalls[ajaxCalls.length - 1]

請注意,如果您只想跟蹤GET請求,則只需在open()方法中使用method === 'GET'即可記錄URL。

+0

謝謝,我結束了在PHP中使用$ _ SERVER [「REQUEST_URI」]僞劣的解決方法去,然後將它傳遞給JS。 – themerlinproject 2010-09-27 05:31:15

+0

哇,這是輝煌的,歡呼聲 – neaumusic 2014-04-26 10:08:05

0

丹尼爾的解決方案工作,但IE8和更低,因爲IE有不同數量的參數。

試試這個:

window.XMLHttpRequest.prototype._original_open = window.XMLHttpRequest.prototype.open; 
window.XMLHttpRequest.prototype.open = function() { 
    ajaxCalls.push(arguments[1]); 
    this._original_open.apply(this,arguments); 
};