2
我试图覆盖XMLHttpRequest对象上的getResponseBody
方法。代码如下这样:无法覆盖XMLHttpRequest上的getResponseHeader方法
xhr.onreadyStateChange = function(){
if (xhr.readyState !== 4) {
return;
}
if (xhr.status === 200) {
// callback to handle the result
} else {
var _orig = xhr.getResponseHeader;
xhr.getResponseHeader = function(name){
return decodeHeader(_orig.apply(xhr,[name]));
};
// callback to handle the failure
}
}
它抛出调用_orig.apply
时错误“对象不支持此属性或方法”。
有什么想法?谢谢。 PS:我每次创建一个新的XHR对象,不要重复使用旧的XHR对象。
另请参阅http://ajaxian.com/archives/ie7-xmlhttprequest-native-or-not – 2010-08-27 10:14:51
Marcel:是的。对于任何浏览器的“XMLHttpRequest”实现来说,“Native”是单词的一个奇怪选择:它始终是一个主机对象。对于Web开发人员来说,IE 7的这种变化几乎没有什么实际影响,除非IE 6已经足够让人无视了。 – 2010-08-27 10:33:34