是否可以从 XMLHttpRequest 对象获取请求的属性(最好是在发送之前)。
例如调用后:
var a = new XMLHttpRequest( );
a.open( 'POST', 'http://localhost/test', true );
然后我将如何从对象中检索方法和操作 url?
是否可以从 XMLHttpRequest 对象获取请求的属性(最好是在发送之前)。
例如调用后:
var a = new XMLHttpRequest( );
a.open( 'POST', 'http://localhost/test', true );
然后我将如何从对象中检索方法和操作 url?
这在 chrome、firefox 和 IE10 中对我有用,并且可能也适用于其他人:
(function(){
var op=XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open=function(method, url, async){
this.url=url;
this.method=method;
return op.call(this, method, url, async);
};
}());
并确保它有效:
//demo:
var a = new XMLHttpRequest( );
a.open("GET", "/", false);
a.send();
alert( a.url +"\n\n" + a.responseText);
现在,每次调用 open() 时,它都会将 url 和方法记住到 ajax 实例中。由于 ajax 本身是一个对象,因此没有必要为了附加一些属性而包装一个额外的对象。我想不出像这样不显眼地包装 ajax 对象的任何缺点,但也许这里有人知道潜在的陷阱。