2012-07-19 72 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