Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / XHTML

A simple ajax class to use

1.11/5 (3 votes)
21 Dec 2007CPOL 1  
Design a simple to use ajax, for ie,firefox

Introduction

A simple ajax class to use. Design for ie and firefox. It just use to send data and receive it, and deal with the data yourself.

Background

I just write it suit my design.

Using the code

Now, this is the code.

Blocks of code should be set as style "Formatted" like this:

// JavaScript Document
/**
 *  Ajax Class
 *  Designer:	Stephen Liang
**/
var AjaxKtClass = function()
{
	this.xmlHttp = false;
	this.url = "";
	this.updateFun = null;

	this.Create = function(url, updateFun)
	{
		/*@cc_on @*/
		/*@if(@_jscript_version >= 5)
		try{
			this.xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				this.xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e2){
				this.xmlHttp = false;
			}
		}
		@end @*/
		if(!this.xmlHttp&&typeof XMLHttpRequest != 'undefined'){
			this.xmlHttp = new XMLHttpRequest();
		}
		
		this.url = url;
		this.updateFun = updateFun;
	}

	this.Open = function()
	{
		this.xmlHttp.open("GET", this.url, true);
		this.xmlHttp.onreadystatechange = this.updateFun;
		this.xmlHttp.send(null);
	}
	
	this.Open2 = function(url)
	{
		this.xmlHttp.open("GET", url, true);
		this.xmlHttp.onreadystatechange = this.updateFun;
		this.xmlHttp.send(null);
	}
	
	this.Open3 = function(param)
	{
		this.xmlHttp.open("GET", this.url + param, true);
		this.xmlHttp.onreadystatechange = this.updateFun;
		this.xmlHttp.send(null);
	}
	
	this.GetData = function()
	{
		if(this.xmlHttp.readyState == 4){
			return this.xmlHttp.responseText;
		}
		return null;
	}
}

Use it:
<script language="javascript">
// Ajax Object
var ajaxObj = new AjaxKtClass();
ajaxObj.Create("progress.html", AjaxAct);

// Ajax act function
function AjaxAct()
{
	var ret = ajaxObj.GetData();
	if(ret == null) return;
        // Your progress here
	if(ret=="OK")
	{
	}
}

// Ajax send function
function Send()
{
	ajaxObj.Open();
//or like these
//ajaxObj.Open2("abc.html");
//ajaxObj.Open3("?abc=1");
}
</script>

Points of Interest

If you interest it, please emailt to me: stephen_liang@163.com

History

Keep a running update of any changes or improvements you've made here.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)