Pourquoi IE ne me laisse pas voir l'en-tête Content-Length avec getResponseHeader()
?getResponseHeader de XMLhttpRequest d'IE ("Content-Length") absent lorsque Content-Encoded envoyé
Je sais que les en-têtes sont en cours d'envoi; Je peux les voir avec Wireshark. IE ne me laissera pas les avoir.
Si l'en-tête Content-Encoding n'est PAS envoyé, indépendamment du fait que le contenu soit gzippé ou non, je peux les obtenir très bien.
Exemple de code:
function getXMLHttpRequest() {
if (window.XMLHttpRequest) {
return new window.XMLHttpRequest;
}
else {
try {
return new ActiveXObject("MSXML2.XMLHTTP.3.0");
}
catch (ex) {
return null;
}
}
}
function handler() {
if (oReq.readyState == 4 /* complete */) {
if (oReq.status == 200) {
// this alert will be missing Content-Length
// and Content-Encoding if Content-Encoding is sent.
alert(oReq.getAllResponseHeaders());
}
}
}
var oReq = getXMLHttpRequest();
if (oReq != null) {
oReq.open("GET", "http://www.example.com/gzipped/content.js", true);
oReq.onreadystatechange = handler;
oReq.send();
}
else {
window.alert("AJAX (XMLHTTP) not supported.");
}
Avez-vous déjà obtenu une réponse à cette question? Je vois la même chose - fonctionne très bien dans Chrome mais pas dans IE. –
Non, je n'ai jamais trouvé de solution. –