Hallo,

ik heb dit ajax script:

Echter werkt deze niet in Internet Explorer, wat kan hierin de fout zijn?

M.V.G.
Damiaan Reijnaers

<script language="javascript">


function createRequestObject() {

var req;

if(window.XMLHttpRequest){
// Firefox, Safari, Opera...
req = new XMLHttpRequest();
} else if(window.ActiveXObject) {
// Internet Explorer 5+
req = new ActiveXObject("Microsoft.XMLHTTP");
} else {
// There is an error creating the object,
// just as an old browser is being used.
alert("Your Browser Does Not Support This Script - Please Upgrade Your Browser ASAP");
}

return req;

}

// Make the XMLHttpRequest object
var http = createRequestObject();

function sendRequest(page) {

// Open PHP script for requests
http.open('get', page);
http.onreadystatechange = handleResponse;
http.send(null);

}

function handleResponse() {

if(http.readyState == 4 && http.status == 200){

// Text returned FROM the PHP script
var response = http.responseText;

if(response) {
// UPDATE ajaxTest content
document.getElementById("msgstatus").innerHTML = response;
}

}

}

function repeatloop()
{
sendRequest('playlist.php');
setTimeout("repeatloop()", 20000);
}

window.onload=function() {
repeatloop();
}
</script>

Hoi Damiaan,

Misschien kun je beter jquery gebruiken
dat gaat namelijk erg gemakkelijk.

Ik weet niet precies wat jou repeatloop doet maar ajax requests via posts kun je zo sturen:


$.ajax({
	type: "POST", //of GET van maken
	url: "pathTo/playlist.php",
	cache: false, //niet opslaan in cache, zo heb je meest resente gegevens
	data: "UID="+ uid, //de parameters meegeven->uid heb ik bijv uit een formulier gehaald of boven in mijn js geset.
	success: function(html){
		$("#msgstatus").html(html); //geeft waarde terug en schrijft deze in div msgstatus, indien dit id is moet er #, als het een class is moet het een . zijn voor de msgstatus
	}
});
Dit helpt waarschijnlijk:

Vervang lijn 55 door

sendRequest('playlist.php?random='+ Math.random());
Emmanuel, je bent mijn held! Het werkt perfect :D

Ook dank aan Wim en Pepijn voor het posten, Wim ik heb jouw oplossing niet gebruikt, omdat ik al zag dat die van Emmanuel werkte, toch bedankt! :D

Reageren