All pastes #389530 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-03-10 19:48 UTC
rendered paste body
/* 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);
}