Jag lyckas bara göra så det blir en fördröjning, alltså, att det går en sekund, sedan kommer texten. Så jag byggde om koden lite och fick fram detta: nu är ju frågan vad som finns i xmlhttprequest.js, men i "normala" fall så saknas Ok, hm.. alltså, myCallback funktionen vet jag att den inte är rätt, kalla det för dummy, om så behövs. Du bör kolla om responsen är tom eller inte, och om, göra om anropet.XML problem
<html>
<head>
<script type="text/javascript" src="xmlhttprequest.js"></script> 'Behövs för att XML ska kunna fungera.
<script language="JavaScript" type="text/javascript">
function displayMSG()
{
xhr = new XMLHttpRequest();
xhr.open("GET","list_db.asp",false);
xhr.send(null);
}
function myCallback(xhr.responseText){
document.getElementById("responseArea").innerHTML = response;
}
</script>
</head>
<body onLoad="setTimeout('displayMSG()',1000);">
<div id="responseArea">Vänta...</div>
</body>
</html>
Men det står bara Vänta... Function MyCallback är för att jag ska kunna hämta xhr.responseText och göra om det så det skrivs ut i DIVén. Men jag tror det är de som inte fungerar så bra. Vad kan vara fel?
Sv: XML problem
xhr.onreadystatechange = myCallback;
samt att din inparameter till callbacken ser något skum ut..Sv: XML problem
EDIT:
Nu har jag läst lite i min undan stoppade Javascripts bok, och har fått fram lite saker.
Min kod ser ut så här nu:
<html>
<head>
<script type="text/javascript" src="xmlhttprequest.js"></script>
<script language="JavaScript" type="text/javascript">
function displayMSG()
{
xhr = new XMLHttpRequest();
xhr.open("GET","list_db.asp",false);
xhr.send(null);
document.getElementById("responseArea").innerHTML = (xhr.responseText);
}
setTimeout("displayMSG()",1000);
</script>
</head>
<body>
<div id="responseArea" style="background-color: #F7F7F7;">Vänta...</div>
</body>
</html>
Det mesta fungerar nu, det står "Vänta..." en sekund, sedan så kommer texten, men det uppdaterar sig inte. Hur ska jag göra?Sv: XML problem
Annars, om du vill ha periodiska anrop, pröva setInterval() istället för setTimeout().