/* Creates an XMLHttpRequest object and connects to the specified script, passing the specified parameters, and executing the specified callback function Parameters: serverfile: PHP file to connect to parameters: Parameters to pass to PHP callback: Callback function to execute */ function makeRequest(serverfile, parameters, callback) { //create an XMLHttp object var http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Browser doesn\'t support AJAX'); return false; } http_request.onreadystatechange = function() { if (http_request.readyState == 4) { // if there was no problem with the response (e.g. 401, 404 ... response) if (http_request.status == 200) { eval(callback + '(http_request.responseText)'); } else { alert('There was a problem with the request: Error code: ' + http_request.status); } } } //make the actual request http_request.open('POST', serverfile, true); http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http_request.setRequestHeader("Content-length", parameters.length); http_request.setRequestHeader("Connection", "close"); http_request.send(parameters); }