var http_request = false; // handles making of request... calls handleResponse() when data ready function makeRequest(url) { http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); // See note below about this line } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } // no browser support if (!http_request) { // alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } // when request done, call this function http_request.onreadystatechange = handleResponse; // setup request method http_request.open('GET', url, true); // send request http_request.send(null); } // called after request finished... calls function defined by handleDataFunc if request was successful function handleResponse() { // if response ready, and http code is 200 OK, then write the form data if (http_request.readyState == 4) { if (http_request.status == 200) { eval('' + handleDataFunc + '()'); } else { // alert('There was a problem with the request.'); } } }