07. august 2007 - 13:11Der er
17 kommentarer og 1 løsning
Ajax status=200 i Firefox.
Hej Eksperter.
Jeg har en funktion (AjaxLoad), hvor med jeg kalder en asp-side der skal sende en mail. Når den er sendt Response.Write'er den, der dermed bliver reg.responseText, som så bliver overført til et div-element på side, jvf nedenstående.
function createXHR(){ var req=false; try{req=new ActiveXObject('Msxml2.XMLHTTP')} catch(err2){ try{req=new ActiveXObject('Microsoft.XMLHTTP')} catch(err3){ try{req=new XMLHttpRequest();} catch(err1){req=false} } } return req }
Jeg har fået at vide at status=200 er hvad den skal gøre når den har udført asp-siden. Denne kode virker i IE, men ikke i helt i Firefox. Firefox sender mailen, men den sender ikke req.responseText til mit div-element.
FF har ifølge min viden ingen problemer med status. Hvad mener du helt præcist med: "Denne kode virker i IE, men ikke i helt i Firefox"?
"Jeg har fået at vide at status=200 er hvad den skal gøre når den har udført asp-siden" >> Det er ikke umiddelbart korrekt. Request-objektets status sættes til 200, så snart dokumentet er fundet - uanset, om ASP skriver noget til dokumentet ud eller ej
Når readyState er 4, er data tilgængelige ... så kan du bruge dem.
- men hvad gør du med innerHTML i AJAX? Hvad gør du i det hele taget med innerHTML i 2007? innerHTML er 90'er slam på niveau med font-elementer, nestede tabelhelveder og sites opbygget i 18-20 nestede frames :)
Du skal bare beholde innerHTML til du har fået det andet til at virke. Derefter kan du tænke fremad. Men jeg har ikke haft tid til at teste det - jeg ikke umiddelbart se noget galt.
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.