Hoi iedereen,

Ik weet niet of ik goed zit, zoniet, sorry ;) Maar ik zit met een probleem in AJAX. Ik gebruik volgende script om een pagina in te laden via AJAX

<script type="text/javascript">var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"
var bustcacheparameter=""

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}</script>


Dit werkt goed en dus geen problemen daar. Maar nu wil ik dat ik een pagina inlaad, maar ook om de zoveel seconde herlaad. Dit lukt jammer genoeg niet. Ik gebruik hiervoor volgende code

<body onload="setTimeout (ajaxpage('currentsong.php', 'CurrentSong'), 1000);">


Hopelijk kunnen jullie mij helpen want ik kom er niet door uit.

Groeten
Moet je niet gebruik maken van setinterval ipv settimeout?
Is ook al uitgetest geweest maar werkt jammer genoeg ook niet.
Verduidelijk dan eens wat er dan niet gebeurt?
Het laden van een pagina lukt perfect. Er komt een text op en dus daar is geen probleem.

Nu wil ik dat die pagina om de 10 seconden herlaad om te kijken of er geen nieuwe berichten zijn. Dit gebeurt niet zonder dat ik zelf de pagina herlaad.
Wat zegt de javascript console van Firefox?

edit

Probeer anders eens:

onload="foofoo()"

En in je javascript:

<script....>
var interval

function foo()
{
ajaxpage('currentsong.php', 'CurrentSong')
}

function foofoo()
{
interval = setInterval(foo,10000)
}
</script>

EDIT: Thx, het is opgelost. Nu werkt het wel. Het was een domme fout van mij waardoor het niet werkte, maar dankzij wat PHP Newbie zei, lukte het wel.

Reageren