/* 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);
}