2012-07-19 2 views
2

У меня есть XMLHttpRequest внутри Firefox аддон, который, как это:XMLHttpRequest responseXML равна нулю на светлячок 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

Что такое тип содержимого ответа? –

+0

@WladimirPalant: это HTML. – rkosegi

+0

Так что же вы ожидали? 'XMLHttpRequest' только анализирует XML ... –

ответ

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

Смежные вопросы