If it helps, here is some code. There are 3 files, a normal HTML page
that has the buttons, an external Javascript file (see below), and a
simple ASP file that does some dummy calculations to "waste time" and
then sends a Response.Write back to the page that started things...
Here is the .js:
function update_log(t,nu m)
{
document.getEle mentById('put_h ere').innerHTML =
document.getEle mentById('put_h ere').innerHTML +
' <br>' + t + ' [# of connections: ' + parseInt(xmlreq s.length+num)
+']'
}
function sendData(l,x)
{
update_log('<b> <i>Button "' + l + '" clicked, Sending
Request</i></b>',1)
var queryString = 'AJXloops=' + x + '&AJXaction=' + l
var url="respond_ma in_03a.asp";
xmlreqPOST(url, queryString)
}
//
------------------------------------------------------------------------------------------------
// Based on Code from
http://www.drakware.com/articles/multijax.php
//
------------------------------------------------------------------------------------------------
var xmlreqs = new Array();
function CXMLReq(type, xmlhttp)
{
this.type = type;
this.xmlhttp = xmlhttp;
}
function xmlreqGET(url)
{
var xmlhttp=false;
if (window.XMLHttp Request)
{
// Mozilla, etc.
xmlhttp=new XMLHttpRequest( );
xmlhttp.onready statechange = xmlhttpChange;
xmlhttp.open("G ET",url,true) ;
xmlhttp.send(nu ll);
}
// IE
else if (window.ActiveX Object)
{
xmlhttp = new ActiveXObject(" Msxml2.XMLHTTP" );
if(! xmlhttp)
xmlhttp = new ActiveXObject(" Microsoft.XMLHT TP");
if (xmlhttp)
{
xmlhttp.onready statechange = xmlhttpChange;
xmlhttp.open("G ET",url,true) ;
xmlhttp.send();
}
}
var xmlreq = new CXMLReq('', xmlhttp);
xmlreqs.push(xm lreq);
}
function xmlreqPOST(url, data)
{
var xmlhttp=false;
if (window.XMLHttp Request)
{
// Mozilla etc.
xmlhttp=new XMLHttpRequest( );
xmlhttp.onready statechange=xml httpChange;
xmlhttp.open("P OST",url,true) ;
xmlhttp.setRequ estHeader("Cont ent-Type",
"applicatio n/x-www-form-urlencoded");
xmlhttp.send(da ta);
}
else if (window.ActiveX Object)
{
// IE
xmlhttp = new ActiveXObject(" Microsoft.XMLHT TP");
if (xmlhttp)
{
xmlhttp.onready statechange=xml httpChange;
xmlhttp.open("P OST",url,true) ;
xmlhttp.setRequ estHeader("Cont ent-Type",
"applicatio n/x-www-form-urlencoded");
xmlhttp.send(da ta);
}
}
var xmlreq = new CXMLReq('', xmlhttp);
xmlreqs.push(xm lreq);
}
function xmlhttpChange()
{
if (typeof(window['xmlreqs']) == "undefined" ) return;
for (var i=0; i < xmlreqs.length; i++)
{
if (xmlreqs[i].xmlhttp.readyS tate == 4)
{
if (xmlreqs[i].xmlhttp.status == 200 || xmlreqs[i].xmlhttp.status ==
304)
{
// 200 OK
update_log(xmlr eqs[i].xmlhttp.respon seText,-1)
xmlreqs.splice( i,1); i--;
}
else
{
// error
xmlreqs.splice( i,1); i--;
alert("A problem occurred!");
}
}
}
}