AJAX接口及普通AJAX使用及示例
以下为示例:
1:AJAX接口
var Ajax=function(){
var request=new ActiveXObject("Msxml2.XMLHTTP");
var remoteURL;
var sync=false;
var requestParameter=new Object();
var cache=false;
//设置cache
this.setCache=function(flag){
cache=flag;
};
this.isSync=function(){
sync=true;
};
/**
* 远程请求AJAX 地址
*/
this.setRemoteURL=function(url){
remoteURL=url;
};
//获取url地址
var getCacheParameterString=function(){
if(!cache){
return "&random="+Math.random();
}
return '';
};
/**
* 设置的请求参数
*/
this.setParameter=function(key,value){
requestParameter[key]=value;
};
/**
* 获取请求参数,local函数
*/
var getParameterString=function(){
var parameterString="";
for(var key in requestParameter){
var value=requestParameter[key];
parameterString=parameterString+"&"+key+"="+value;
}
//如果存在参数
if(parameterString!=""){
parameterString="?"+parameterString.substring(1);
}
return parameterString;
};
/**
* 处理请求
*/
this.sendGetRequest=function(){
//获取请求参数
request.open("get",remoteURL+getParameterString()+getCacheParameterString(),!sync);
//状态改变
var self=this;
//回调函数
request.onreadystatechange=function(){
if (request.readyState == 1){
self.onLoading();
}
if(request.readyState == 4){
if(request.status==200){
self.onSuccess();
}else{
self.onError();
}
}
};
request.send("");
};
this.sendPostRequest=function(){
//获取请求参数
request.open("post",remoteURL,!sync);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//状态改变
var self=this;
//回调函数
request.onreadystatechange=function(){
if (request.readyState == 1){
self.onLoading();
}
if(request.readyState == 4){
if(request.status==200){
self.onSuccess();
}else{
self.onError();
}
}
};
request.send(getParameterString());
};
//获取返回TEXT
this.getResponseText=function(){
return request.responseText;
}
//获取返回HTML
this.getResponseXML=function(){
return request.responseXML;
}
/**
* 正在处理操作
*/
this.onLoading=function(){
alert("数据获取中");
};
//成功操作
this.onSuccess=function(){
alert("返回成功");
};
//如果失败
this.onError=function(){
&n