login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Ajax] setInterval

Offline Raze - 05/04/2009 17:24
Avatar van RazePHP beginner Hallo,

ik heb volgend ajax-script op mijn website staan:
  1. <script type="text/javascript">
  2. setInterval("sendRequest()",1000)
  3. function createRequestObject()
  4. {
  5. var req;
  6.  
  7. if(window.XMLHttpRequest)
  8. {
  9. req = new XMLHttpRequest();
  10. }
  11. else if(window.ActiveXObject)
  12. {
  13. req = new ActiveXObject("Microsoft.XMLHTTP");
  14. }
  15. else
  16. {
  17. alert('Fail');
  18. }
  19.  
  20. return req;
  21.  
  22. }
  23.  
  24. var http = createRequestObject();
  25. function sendRequest()
  26. {
  27. http.open('get', 'test3.php?uid='+<?php print $_SESSION['userid']; ?>);
  28. http.onreadystatechange = handleResponse;
  29. http.send(null);
  30. }
  31.  
  32. function handleResponse()
  33. {
  34.  
  35. if(http.readyState == 4 && http.status == 200)
  36. {
  37. if(http.responseText)
  38. {
  39. document.getElementById("resultaat").innerHTML = http.responseText;
  40. }
  41. }
  42. }


dit is gewoon het live search script hier op SiMa dat ik heb aangepast naar mijn noden.
het moet dus de online leden tonen, en wanneer dus personen afmelden, verdwijnen ze uit de lijst.
in firefox werkt dit perfect: de leden verdwijden uit/komen bij in de lijst zonder dat daarvoor de pagina moet gerefreshed worden.

probleem is nu: in IE werkt dit niet. wanneer ik dus bv handmatig een wijziging doe in de db (wat eropneerkomt dat iemand zich aan-/afmeld -> dit werkt in FF), wordt deze wijziging niet getoond, ook niet na een refresh van de pagina (F5).
ik moet echt het venster afsluiten en IE opnieuw openen om de wijziging te kunnen zien.

Wat is er dan fout?

2 antwoorden

Gesponsorde links
Offline MiST - 06/04/2009 00:34
Avatar van MiST Lid moet setInterval geen setTimeout zijn?
ben geen JS expert, maar je geeft zelf al aan dat het in je setInterval zit?

En moet sendrequest wel tussen quotes staan? 
Offline PRO - 06/04/2009 09:18
Avatar van PRO JS interesse var interval = setInterval("sendRequest()", 1000);
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.166s