Как просмотреть последний GET HTTP-запрос в JavaScript - PullRequest
7 голосов
/ 26 сентября 2010

Как я могу просмотреть последний GET http-запрос в JavaScript? В основном то, что я ищу, это то, что я вижу в своей консоли firebug. Когда XMLHttpRequests отображаются в консоли, я вижу строку, которая выглядит примерно так:

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

Как просмотреть этот URL в JavaScript?

РЕДАКТИРОВАТЬ: Просто чтобы быть ясно, я ищу URL между GET ... и ... 200. Я не волнуюсь ни о чем другом. Я не хочу никакой другой информации.

Ответы [ 3 ]

10 голосов
/ 26 сентября 2010

Возможно, вы захотите изменить XMLHttpRequest.prototype.open на , украсить кодом "отслеживания".Примерно так:

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 будет заполнен URL-адресами ваших запросов Ajax.Последний запрос будет на ajaxCalls[ajaxCalls.length - 1].

Обратите внимание, что если вы хотите отслеживать только GET запросы, вы можете просто регистрировать URL-адреса, только если method === 'GET' в методе open().

0 голосов
/ 09 сентября 2013

Решение Дэниела работает, но не для 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);
};
0 голосов
/ 27 сентября 2010

Я закончил с обходным решением, используя $_SERVER['REQUEST_URI'] в PHP, а затем передал его в JavaScript.

...