18. september 2006 - 15:39Der er
8 kommentarer og 1 løsning
Problem med AJAX og IE/Firefox
Hej,
Jeg har en masse lækker javascript der bare brager derudaf i Firefox, men når jeg så skulle prøve det i IE, så var der intet der ville som jeg ville:
function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } }
[..snip en masse kode..]
function parseResults() { var xmlDoc = xmlHttp.responseXML;
var values = xmlDoc.getElementsByTagName("my_val")[0];
var msg = values.getAttribute("msg"); var sport = values.getAttribute("sport"); var id = values.getAttribute("id"); document.getElementById('msg_'+sport+'_'+id).innerHTML = msg; }
Min xml ser sådan ud: <?xml version="1.0" encoding="UTF-8" ?> <data> <my_val msg="SAVED" sport="fodbold" id="1"></my_val> </data>
desværre ser det ud til at:var values = xmlDoc.getElementsByTagName("my_val")[0]; er null i IE men virker fint i firefox.
Det lyder nærmest som om komponenten ikke er installeret på din maskine (eller den du tester på)...
Prøv at søge efter det PROGID (eller dem allesammen) i registry og se om den findes. Hvis det ikke gør, så hent komponenten på Microsofts hjemmeside og installer den (jeg synes dog den burde være installeret hvis du bruger IE 6.0).
AHA... der gik et lys op for mig.. jeg havde i min xml kilde sat header til Content-type; xml/text Det virkede i firefox, men da jeg rettede det til text/xml virkede det sgu også i IE..
Ja, man skal passe rigtig godt på FF ... ikke mindst når man roder med AJAX (hvor man jo bruger en masse DOM). Den er desværre svært elendig og overholder (i direkte modstrid med dens ry) ikke store områder af de gældende standarder :o|
/mvh </bole>
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.