Получить метод и URL-адрес из XHR - PullRequest
2 голосов
/ 08 марта 2010

В основном, как говорится в заголовке, я хочу получить URL и HTTP-глагол от xhr. Возможно ли это?

Ответы [ 2 ]

2 голосов
/ 08 марта 2010

Боюсь, не изначально. В реализации прототипов вы можете написать свой собственный прототип:

XMLHttpRequest.prototype.__oldOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.verb = "";
XMLHttpRequest.prototype.url  = "";
XMLHttpRequest.prototype.open = function (verb, url, async)
{
    this.verb = verb;
    this.url  = url;
    this.__oldOpen.call(this, verb, url, async); 
}

Не ожидайте, что он будет работать в IE7 и старше.

<ч /> Я полагаю, что вы могли бы сделать это, полностью воссоздав объект XMLHttpRequest, но потребовалось бы много работы, чтобы сделать это правильно:

var oldXHR = XMLHttpRequest;
function XMLHttpRequest()
{
    var realXHR = new oldXHR();
    this.onreadystatechange = function () {}
    this.open = function (verb, url, async)
    {
        this.verb = verb;
        this.url  = url;
        realXHR.open(verb, url, async);
    {
    this.send = function () { realXHR.send(); }

    // all other properties and methods... 
}

Конечно, вы должны приложить усилия для правильной привязки onreadystatechange и установки status и т. Д.

1 голос
/ 08 марта 2010
В настоящее время , нет стандартного способа получения HTTP-глагола или URL-адреса из объекта XHR. Но W3C рассматривает getRequestHeader на будущее.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...