#native_company# #native_desc#
#native_cta#

Simple Ajax by Jeff Manning

By Jeff Manning on Jun 13, 2012

Abstract

A simple script that simplifies Ajax requests

Description

An ajax script that supports both get, and post protocols that allows users to create diverse ajax applications using a simpler set of functions createRequest() allows you to create a request to the page addParam() – adds a parameter to the request sendRequest() accepts a string to be executed using eval, and an optional parameter setting the type of request to post. This function then sends the request.

Code Snippet

var xmlhttp;
var response = null;
var variables = "";
var page;
var useAmp = false;
function createRequest(url) {
	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
	}
	else // code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	page = url;
}

function addParam(name,value) {
	if(useAmp == true)
		variables += "&";
	variables += escape(name) + "=" + escape(value)
	useAmp = true;
}

function sendRequest(instructions,type) {
	//the instructions param takes the form of an eval statement
	if(type == null) {
		page += "?" + variables
		xmlhttp.open("GET", page, true);
			xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==4 && xmlhttp.status==200) {
				response=xmlhttp.responseText;
				eval(instructions)
			}
		}
		xmlhttp.send();

	}
	else {
		xmlhttp.open("POST", page, true);
		//Send the proper header information along with the request
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlhttp.setRequestHeader("Content-length", variables.length);
		xmlhttp.setRequestHeader("Connection", "close");
			xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==4 && xmlhttp.status==200) {
				response=xmlhttp.responseText;
				eval(instructions)
			}
		}
		xmlhttp.send(variables);
	}


}