AJAX - Bug de XmlHttpRequest en Internet Explorer

   
Vista:

Bug de XmlHttpRequest en Internet Explorer

Publicado por Luis Osorio (1 intervención) el 06/05/2010 00:34:13
Recien configure un server apache con PHP instalado como un modulo en un servidor windows para desarrollar una intranet, luego habilite compresion HTTP en el archivo de configuracion (httpd.conf) Algunos dias despues hice un script que jala un archivo CSV de tamaño considerable (45 MB aprox) usando el objeto XMLHttpRequest y teniendo ya la compresion activada esto trabaja muy bien... pero solo con Firefox, no funciona con Internet Explorer pues "se trae" el archivo sin comprimirlo. Hice varias pruebas usando la utileria IeHTTPheaders tambien monitoreando el contenido de getAllResponseHeaders(). Lo promero que note fue que getAllResponseHeaders() no incluyó en la respuesta del server el encabezado 'Content-Encoding' en Internet Explorer pero si lo hizo en Firefox, en pocas palabras, en Firefox si funciona bien pero en IE no. Hasta ahora hice pruebas en IE 7 & 8 (ya no usamos internet Explorer 6) en varios equipos de la compañia y tambien con la pc de mi casa via VPN y en todas obtuve los mismos resultados, aun "harcodeando" el encabezado 'Accept-Encoding' en el request no resolvio el problema.

Este es el codigo javascript para jalar el archivo CSV, de momento solo toma el tiempo que se demora en traer el archivo y despliega el contenido.

ct=new Date();
start=ct.getHours() +':' +ct.getMinutes() + ':' +ct.getSeconds();
xmlObj = new XMLHttpRequest();

xmlObj.onreadystatechange = function(){

if(xmlObj.readyState == 4){
ct=new Date();
end=ct.getHours() +':' +ct.getMinutes() + ':' +ct.getSeconds();
alert('Ready! '+start+'. '+end);
alert('Response from PHP: '+xmlObj.responseText);
alert('Response from PHP: '+xmlObj.getAllResponseHeaders());//.responseText);
}
}

xmlObj.open ('GET', 'pt.php', true);
xmlObj.send (null);</pre>

Esta es la parte de Apache que habilita la compresion HTTP

AddOutputFilterByType DEFLATE text/html text/plain text/xml

El web server esta en la misma red que yo, no estoy detras de ningun proxy o firewall, tambien deshabilite el Antivirus en el server y las maquinas donde hice pruebas sin resultados... Esto me parece un bug en la implementacion de Internet Explorer del objeto XMLhttpRequest porque si trabaja bien con Firefox.

Please help, I am seriously considering to cancel the project due this bug. :(( :(( :(( :(( :((
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder