Ajax应用-定义一套自己的Ajax框架
——————————————————————————
<script type="text/javascript">
//定义个一个function,作为一个Ajax类
//它的构造函数需要提供以下参数列表
function Ajax(url,callback,params,method){
this.method = method; //对象的ajax请求方法
this.url = url; //对象的ajax请求url
this.params = params; //对象的ajax请求参数
this.callback = callback;//对象的ajax请求回调
this.send = function(){ //请求发送函数
if(!this.method) //当没有提供请求方法的时候,默认为GET
this.method = 'GET';
if(method == 'POST'){//如果是POST方法
//用POST方法,参数可以通过send方法的参数写到请求的内容流中去
window.Ajax.client.open(this.method,this.url,true);
window.Ajax.client.send(params);//调用send函数,把参数写的请求内容中
}else if(method == 'GET'){//如果是GET方法
//用GET请求方法,参数就只能放在URL的后边,这种方式受到URL长度限制
window.Ajax.client.open(this.method, this.url + "?" + params,true);
window.Ajax.client.send();
}
//请求发出以后,就开始监听client的状态变化
window.Ajax.client.onreadystatechange = function(){
//如果成功返回,则调用预定义的回调函数
if (window.Ajax.client.readyState==4 && window.Ajax.client.status==200){
callback();//调用回调函数
}
};
};
//这里,把Ajax的client属性作为一种静态变量,类似于单例模式
if(!window.Ajax.client){
// 判断是否支持ActiveX控件,老版本的IE浏览器就需要使用ActiveXObject来创建
if(window.ActiveXObject){
// 通过实例化ActiveXObject的一个新实例来创建XMLHTTPRequest对象
window.Ajax.client = new ActiveXObject("Microsoft.XMLHTTP");
}
// 其他的大多数浏览器都支持本地javascript对象
else if(window.XMLHttpRequest){
// 创建XMLHTTPRequest的一个实例(本地javascript对象)
window.Ajax.client = new XMLHttpRequest();
}
}
}
//button的click事件函数
function sendAjax(){
//创建一个Ajax对象,然后提供必要的参数
var ajax = new Ajax('test001.txt',function(){
alert(window.Ajax.client.responseText);
},'','GET');
//发送请求
ajax.send();
}
</script>——————————————————————————————
<body style="text-align:center">
<input type="button" value="Send" onclick="sendAjax();"/>
</body>
——————————————————————————————