xmlhttprequest fejler i IE
Jeg bruger følgende kode fra http://jibbering.com/2002/4/httprequest.html til at forbinde til et xmlhttp objekt.var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
Så bruger jeg følgende udsnit af mit javascript i en applikation:
url = "/modules/accounting/find_account_js.php?s="+account.value;
if (!xmlhttp.open) return;
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4) {
var sp = document.createElement('span');
sp.style.fontSize = "0.8em;";
var text = document.createTextNode(xmlhttp.responseText);
sp.appendChild(text);
elem.appendChild(sp);
}
}
Scriptet fejler imidlertid ved xmlhttp.open i IE 6.0, hvor den siger at metoden ikke er understøttet. Jeg troede at jeg med if (!xmlhttp.open) return; kunne sørge for at den tjekkede om metoden findes, men det gøre den åbenbart ikke. Er der nogen, der har en vej uden om det?
