从XHR获取方法和URL

时间:2010-03-08 14:36:51

标签: javascript xmlhttprequest

基本上标题是什么,我想从xhr获取URL和HTTP Verb。这可能吗?

2 个答案:

答案 0 :(得分:2)

不是本地人,我害怕。在原型实现中,您可以编写自己的原型:

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 :(得分:1)

Currently,没有标准方法从XHR对象获取HTTP谓词或网址。但是,W3C正在考虑getRequestHeader以供将来考虑。