65.9K
CodeProject 正在变化。 阅读更多。
Home

一个简单的 AJAX 类

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.11/5 (3投票s)

2007 年 12 月 22 日

CPOL
viewsIcon

33138

设计一个易于使用的 Ajax,适用于 ie 和 firefox

引言

一个简单的 Ajax 类,设计用于 ie 和 firefox。它仅用于发送和接收数据,并由您自行处理数据。

背景

我只是根据我的设计编写的。

使用代码

现在,这是代码。

代码块应设置为“Formatted”样式,如下所示

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

使用它
<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>
		

关注点

如果您感兴趣,请发送邮件至:stephen_liang@163.com

历史

在此处保持您所做的任何更改或改进的实时更新。

© . All rights reserved.