日期:2014-05-16  浏览次数:20672 次

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