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