Blood_Raven
Legacy Member
Ik heb een probleem met een enkele ajax calls naar een webpagina. Google chrome en Firefox slagen er blijkbaar in om deze zonder enige fout uit te voeren maar bij Internet Explorer gebeurt er gewoon niets. 
Ik heb een alert toegevoegd en deze zegt 'undefined' bij het draaien in IE.
Optioneel, is er ook een manier hoe ik één XMLHttpRequest kan gebruiken in plaats van 4? Ik heb eigenlijk nog geen ervaring op dit gebied.

Ik heb een alert toegevoegd en deze zegt 'undefined' bij het draaien in IE.
PHP:
var xmlcontent=false;
var xmllist=false;
var xmltabs=false;
var xmlpost=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
xmlcontent = new ActiveXObject("Msxml2.XMLHTTP");
xmllist = new ActiveXObject("Msxml2.XMLHTTP");
xmltabs = new ActiveXObject("Msxml2.XMLHTTP");
xmlpost = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xmlcontent = new ActiveXObject("Microsoft.XMLHTTP");
xmllist = new ActiveXObject("Microsoft.XMLHTTP");
xmltabs = new ActiveXObject("Microsoft.XMLHTTP");
xmlpost = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
xmlcontent = false;
xmllist = false;
xmltabs = false;
xmlpost = false;
}
}
@end @*/
if (!xmlcontent && typeof XMLHttpRequest != 'undefined') {
xmlcontent = new XMLHttpRequest();
}
else {
alert('undefined');
}
if (!xmllist && typeof XMLHttpRequest != 'undefined') {
xmllist = new XMLHttpRequest();
}
if (!xmltabs && typeof XMLHttpRequest != 'undefined') {
xmltabs = new XMLHttpRequest();
}
if (!xmlpost && typeof XMLHttpRequest != 'undefined') {
xmlpost = new XMLHttpRequest();
}
function request(request,divID, xml) {
if (xml) {
d=document
var oInputArray = new Array();
xml.open("GET", request ,true);
xml.onreadystatechange= function () {
if (xml.readyState == 4) {
//This shouldn't happen, go back to the main page
if(xml.responseText.substring(0,2) == "<!") {
window.location ="/";
}
document.getElementById(divID).innerHTML=xml.responseText
}
}
xml.send(null)
}
}
function postMessage() {
if (xmlpost) {
var params = "input=" + document.getElementById("input").value;
xmlpost.open("POST", "post" ,true);
// Send parameters
xmlpost.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlpost.setRequestHeader("Content-length", params.length);
xmlpost.setRequestHeader("Connection", "close");
xmlpost.onreadystatechange = function () {
if (xmlpost.readyState == 4) {
document.getElementById("input").value="";
}
}
xmlpost.send(params)
}
}
var x
function update() {
request("content", "contentholder", xmlcontent);
request("tabs", "tabholder", xmltabs);
request("list", "listholder", xmllist);
x = setTimeout("update()",1000);
}
Optioneel, is er ook een manier hoe ik één XMLHttpRequest kan gebruiken in plaats van 4? Ik heb eigenlijk nog geen ervaring op dit gebied.