Avatar billede phpbegynder2004 Nybegynder
04. december 2006 - 16:08 Der er 4 kommentarer og
1 løsning

Ajax Dynamic Content

Hej,

Jeg har endenstående script. Det ved onload hente filerne fil1.php og fil-2.php, men den henter kun fil-1.php. Derudover skulle den opdatere fil-1 hver 10. sekund og fil-2.php hvert 2. sekund.

Jeg er helt ny i Ajax og ret dårlig til javascript så bær over med mig ;)

På forhånd tak og her er koden:

<html>
<head>
<script type="text/javascript">

function ajax(url, target, tid)
{
    // native XMLHttpRequest object
  document.getElementById(target).innerHTML = 'Sender...';
  if (window.XMLHttpRequest) {
      req = new XMLHttpRequest();
      req.onreadystatechange = function() {ajaxDone(target);};
      req.open("GET", url, true);
      req.send(null);
  // IE/Windows ActiveX version
  } else if (window.ActiveXObject) {
      req = new ActiveXObject("Microsoft.XMLHTTP");
      if (req) {
          req.onreadystatechange = function() {ajaxDone(target);};
          req.open("GET", url, true);
          req.send();
      }
  }
          setTimeout("ajax(url, target, tid)", tid);
}


function ajaxDone(target) {
// only if req is "loaded"
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200 || req.status == 304) {
results = req.responseText;
document.getElementById(target).innerHTML = results;
} else {
document.getElementById(target).innerHTML="ajax error:\n" +
req.statusText;
}
}
}
</script>
</head>
<body onload="ajax('fil-1.php','scriptoutput','10000'); ajax('fil-2.php','script2output','2000');">
<table><tr><td>
<p><b>Online i chatten:</b><br />
<span id="scriptoutput"></span>
</td><td>
<span id="script2output"></span>
</td></tr></table>

</body>
</html>
Avatar billede olebole Juniormester
05. december 2006 - 10:00 #1
<ole>

Prøv:
    <body onload="ajax('fil-1.php','scriptoutput',10000); ajax('fil-2.php','script2output',2000);">

I øvrigt har det ikke så meget med Ajax at gøre, hvis du HTML-formaterer data på serveren. Du bør kun udveksle rå data mellem server og klient - og så formatere data på klienten med DOM. Udover at 'innerHTML' slet ikke kan bruges under XHTML  :)

/mvh
</bole>
Avatar billede phpbegynder2004 Nybegynder
07. december 2006 - 17:24 #2
Nåå! Var det bare det? :)
Tak for det! Læg et svar...
Avatar billede olebole Juniormester
08. december 2006 - 09:09 #3
'10000' er en tekststreng, bestående af et et-tal, efterfulgt af fire nuller.
10000 er derimod et tal ... pokkers til forskel  ;o)
Avatar billede phpbegynder2004 Nybegynder
10. december 2006 - 23:06 #4
Okay, takker!
Avatar billede olebole Juniormester
11. december 2006 - 09:12 #5
Selvtak ... og tak for points  :)
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