Ah I was confused myself, you're right, thanks anyhow...
Your possible solution only works when there's a fixed number of calls running simultaneously... I fixed it differently though:
- I made var xobject refer to a different (global) object in the getXMLObject() function.
- The var xobject is now called inside the handler function
Code:
var time_variable;
function getXMLObject() //XML OBJECT
{
var gobject = false;
try {
gobject = new ActiveXObject("Msxml2.XMLHTTP") // For Old Microsoft Browsers
}
catch (e) {
try {
gobject = new ActiveXObject("Microsoft.XMLHTTP") // For Microsoft IE 6.0+
}
catch (e2) {
gobject = false // No Browser accepts the XMLHTTP Object then false
}
}
if (!gobject && typeof XMLHttpRequest != 'undefined') {
gobject = new XMLHttpRequest(); //For Mozilla, Opera Browsers
}
return gobject; // Mandatory Statement returning the ajax object created
}
function handler(div) {
var xobject = new getXMLObject();
var randint = Math.random();
var getdate = new Date();
xobject.open("POST",phpFile,true);
xobject.onreadystatechange = function() {
if (xobject.readyState==4) {
if(xobject.status == 200) {
document.getElementById(div).innerHTML=xobject.responseText;
}
else {
alert('error');
}
}
}
xobject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xobject.send(postVars);
}
function showdiv1() {
divID = "div1"; //define html div
phpFile = "showdiv1.php"; //define file to be loaded
postVars = "var1=somevalue"; //define post vars
handler(divID);
}
function showdiv2() {
divID = "div2"; //define html div
phpFile = "showdiv2.php"; //define file to be loaded
postVars = "var2=somevalue"; //define post vars
handler(divID);
}
function showdivs() {
showdiv1();
showdiv2();
}