2012-07-19 65 views
2

空我的XMLHttpRequest的Firefox插件在其內部是這樣的:XMLHttpRequest的responseXML的是在Firefox 10

httpRequest = new XMLHttpRequest(); 
httpRequest.open("POST", baseUrl + "check.php?uid=" + username, true); 
httpRequest.responseType = "document"; 
httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");  
httpRequest.setRequestHeader("Content-length", dataString.length); 
httpRequest.setRequestHeader("Connection", "close"); 
httpRequest.onload = infoReceived; 
httpRequest.send(dataString); 

我工作得很好,在最近版本的Firefox(14.0.1)。

然而,在Firefox ESR 10,httpRequest.responseXML是處理程序(infoReceived)

任何暗示,裏面嗎?

我檢查了MDN文檔,但沒有關於ESR 10版本中的不兼容性的說明。

+0

什麼是響應的內容類型? – 2012-07-19 10:51:45

+0

@WladimirPalant:它是HTML。 – rkosegi 2012-07-19 11:01:49

+0

那你期望什麼? XMLHttpRequest'只能解析XML ... – 2012-07-19 12:52:15

回答

2

好吧,我知道了。

之前(內部處理函數):

var response = httpRequest.responseXML; 

後(內部處理函數):

var parser = new DOMParser(); 
var response = parser.parseFromString(httpRequest.responseText, "text/html"); 

之前(主要功能):

httpRequest.responseType = "document"; 

後(主要功能) :

//httpRequest.responseType = "document"; 

我還發現裏面MDN doc正確的信息:

enter image description here