Avatar billede hagger Nybegynder
09. april 2010 - 20:01 Der er 9 kommentarer

Ajax bliver ikke ved at opdatere i Internet Explorer.

Hejsa.. Jeg er igang med en tagwall, hvor jeg bruger Ajax til at finde ud af om der er kommet nye beskeder, og hvis der er, så hente dem og skrive dem på siden. Det virker fint i Chrome og Firefox, men i Internet Explorer bliver den ikke ved med at opdatere så de nye beskeder vises. Dette er min kode:


<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-Type: text/html; charset=iso-8859-1");
?>
<script language="JavaScript" type="text/javascript">
var getid = getXmlHttpRequestObject();
var gettags = getXmlHttpRequestObject();
var id = "";
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if(window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
function update(){ 
getid.onreadystatechange=lastid;
getid.open("GET","tagwalllastid.php",true);
getid.send(null);
setTimeout('update();',10000);
}
function lastid(){
if (getid.readyState==4)
{
if(id!=getid.responseText){
gettags.onreadystatechange=tags;
gettags.open("GET","../tagwallServer.php",true);
gettags.send(null);
}
id = getid.responseText;
}
}
function tags(){
if (gettags.readyState==4){
document.getElementById("screen").innerHTML = gettags.responseText;
}
}
update();
</script>
<div id="screen">Tagwall loades...</div>


Jeg har disse headers på alle sider jeg henter noget fra:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-Type: text/html; charset=iso-8859-1");

I tagwalllastid.php står der bare id'et på sidste tagwallbesked.

I tagwallServer.php er alle beskederne jeg henter.

Og jeg har det også så i kan se det live: http://www.nsavisen.ooz.dk/test/tagwalltest.php

Men som sagt, det virker ikke i Internet Explorer. Kan I se hvad der er galt? Eller måske tilføje noget der fikser det? Vil blive meget glad for jeres hjælp :)
Avatar billede erikjacobsen Ekspert
09. april 2010 - 20:18 #1
Helt generelt: Brug POST i stedet for GET
Avatar billede hagger Nybegynder
09. april 2010 - 20:38 #2
Vil det hjælpe så det virker i Internet Explorer?
Avatar billede erikjacobsen Ekspert
09. april 2010 - 20:41 #3
Jeg vil sige, at det er et forsøg værd ;)
Avatar billede hagger Nybegynder
09. april 2010 - 20:43 #4
Det gør ingen forskel..
Avatar billede majbom Novice
09. april 2010 - 22:26 #5
er det et bestemt antal gange den vil opdatere?

kun én gang eller flere eller tilfældigt?
Avatar billede hagger Nybegynder
09. april 2010 - 22:28 #6
Er ikke sikker på jeg forstår hvad du mener, men i Chrome og Firefox opdaterer den hvert 10'ende sekund og i Explorer finder den beskederne frem, men opdaterer ikke igen så man kan se nye beskeder...
Avatar billede majbom Novice
09. april 2010 - 22:31 #7
så den kører scriptet én gang og det er dét?
Avatar billede hagger Nybegynder
10. april 2010 - 20:12 #8
Hovedscriptet bliver jo indlæst en gang og det er jo når siden bliver indlæst, men ellers opdaterer den med nye beskeder hvert 10'ende sekund, så scriptet kører jo hele tiden og tjekker om der er nye beskeder...
Avatar billede majbom Novice
04. november 2010 - 13:35 #9
fandt du en løsning?
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