如何在JavaScript中查看最后一个GET HTTP请求

时间:2010-09-26 18:26:43

标签: javascript ajax http get xmlhttprequest

如何在JavaScript中查看最后一个GET http请求?基本上我所追求的是我能看到我的firebug控制台。当XMLHttpRequests在控制台中显示时,我看到一行看起来像:

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

如何在JavaScript中查看该网址?

编辑:要明确我正在寻找GET ......和...之间的URL。我不在乎别的什么。我不想要任何其他信息。

3 个答案:

答案 0 :(得分:10)

您可能希望使用“跟踪”代码修改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次请求,则只需在method === 'GET'方法中open()时记录网址。

答案 1 :(得分:0)

Daniel的解决方案有效,但不适用于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);
};

答案 2 :(得分:-1)

我最终使用PHP中的$_SERVER['REQUEST_URI']进行解决,然后将其传递给JavaScript。