Avatar billede madsmm Nybegynder
18. september 2006 - 15:39 Der 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.

Nogle gode ideer til hvad jeg gør galt?
Avatar billede softspot Forsker
18. september 2006 - 15:42 #1
Det kan være du skal prøve en anden PROGID til at oprette din httprequest-komponent med, f.eks. MSXML2.XMLHTTP.
Avatar billede madsmm Nybegynder
18. september 2006 - 15:43 #2
har jeg netop også prøvet, uden held :(
Avatar billede softspot Forsker
18. september 2006 - 15:50 #3
Der findes forskellige PROGIDs du kan forsøge dig med:

MSXML2.XMLHttp.3.0
MSXML2.XMLHttp.4.0
MSXML2.XMLHttp.5.0
Avatar billede madsmm Nybegynder
18. september 2006 - 19:29 #4
IE melder tilladelse nægtet på alle 3
Avatar billede madsmm Nybegynder
18. september 2006 - 19:43 #5
og dog, der bliver ikke meldt tilladelse nægtet, men derimod samme fejl for alle PROGIDs
Avatar billede softspot Forsker
18. september 2006 - 21:40 #6
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).
Avatar billede madsmm Nybegynder
18. september 2006 - 22:21 #7
tror måske der er lidt forvirring. Problemet er at denne:

var values = xmlDoc.getElementsByTagName("my_val")[0];

er "null" i IE og virker fino i firefox.. uanset hvad jeg opretter af httprequest komponent i IE
Avatar billede madsmm Nybegynder
18. september 2006 - 22:28 #8
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..

Fantastisk...
Avatar billede olebole Juniormester
20. september 2006 - 10:36 #9
<ole>

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>
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester