基本上标题是什么,我想从xhr获取URL和HTTP Verb。这可能吗?
答案 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)
getRequestHeader
以供将来考虑。