Ik ben bezig om met behulp van Javascript de inhoud (dynamische inhoud) van een PHP bestand te laden in een DIV-element, het zogeheten AJAX-model. Alles werkt uitstekekend, in het kort gebeurt er dit;
- Bij het initialiseren van de pagina wordt een request object aangemaakt:
Vervolgens roep ik een funcie aan bij een mouse-event, in dit geval een mouseclick:
De functie handleResponse plaats de responseText in een divelement, als de readyState 4 is.
Het is overbodig deze functie te tonen; deze doet gewoon zijn werk.
probleem
Het bestand `dataverkrijgen.php` bevat niets anders dan een echo van de huidige tijd (time()).
Ik probeer nu een situatie te creeeren dat als ik de functie sndReq() aanroep, hij de huidige tijd (timestamp) in het divelement plaatst. Dit gebeurd ook, echter lijkt hij de responseText te cachen want hoe vaak ik de functie ook aanroep, de timestamp blijft hetzelfde (het resultaat is dus dat mijn divelement constant gevuld wordt met de timestamp die hij bij de eerste call teruggaf).
Misschien zie ik het verkeerd en roep ik de functies verkeerd aan, of moet ik misschien zelfs eerst een nieuw request object aanmaken voordat hij het PHP-bestand opnieuw laadt? Of is dit toch een cache probleem?
- Bij het initialiseren van de pagina wordt een request object aangemaakt:
code:
1
| http = new ActiveXObject("Microsoft.XMLHTTP"); |
Vervolgens roep ik een funcie aan bij een mouse-event, in dit geval een mouseclick:
code:
1
2
3
4
5
6
| function sndReq()
{
http.open('get', 'dataverkrijgen.php');
http.onreadystatechange = handleResponse;
http.send(null);
} |
De functie handleResponse plaats de responseText in een divelement, als de readyState 4 is.
Het is overbodig deze functie te tonen; deze doet gewoon zijn werk.
probleem
Het bestand `dataverkrijgen.php` bevat niets anders dan een echo van de huidige tijd (time()).
Ik probeer nu een situatie te creeeren dat als ik de functie sndReq() aanroep, hij de huidige tijd (timestamp) in het divelement plaatst. Dit gebeurd ook, echter lijkt hij de responseText te cachen want hoe vaak ik de functie ook aanroep, de timestamp blijft hetzelfde (het resultaat is dus dat mijn divelement constant gevuld wordt met de timestamp die hij bij de eerste call teruggaf).
Misschien zie ik het verkeerd en roep ik de functies verkeerd aan, of moet ik misschien zelfs eerst een nieuw request object aanmaken voordat hij het PHP-bestand opnieuw laadt? Of is dit toch een cache probleem?