HTML beginner |
|
Je vraagt je dus af waarom sommige elementen een paar seconden blijven staan, vooraleer ze gerefreshed worden.
Dit is eigenlijk inherent aan ajax. AJAX (voluit Asynchronous Javascript And XML) voert eigenlijk een vraag uit naar de server, dit zonder de werking van de site te versturen. De gebruiker van de site kan dus nog vele andere dingen tijdens de vraag van AJAX (asynchroon). Dit in tegenstelling tot een refresh van de pagina, waar de gebruiker niets meer kan doen tot de pagina geladen is.
Juist hierdoor zal de content even blijven staan, de tijd dat de server erover doet om het antwoord op te zoeken en terug te zenden.
Je kan dit zichtbaar maken voor de gebruiker door een klein gif-je te laden op de plaats waar de content zal komen. Je doet dit best voor de AJAX-request gemaakt wordt, deze gif zal automatisch verdwijnen als het antwoord terugkomt aangezien je het antwoord op dezelfde plaats terugzet. Dus ik zou je code zo aanpassen:
function requestCustomerInfo() {
document.getElementById("divCustomerInfo").innerHTML="<strong>Loading Data</strong></br><img src=\"pics/loading_anim.gif\"/>";
var sId = document.getElementById("txtCustomerId").value;
http.open("GET", url + escape(sId), true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
function requestCustomerInfo() { document.getElementById("divCustomerInfo").innerHTML="<strong>Loading Data</strong></br><img src=\"pics/loading_anim.gif\"/>"; var sId = document.getElementById("txtCustomerId").value; http.open("GET", url + escape(sId), true); http.onreadystatechange = handleHttpResponse; http.send(null); }
met loading_anim.gif bvb een klein gif-je dat ronddraait (altijd mooi)
|