注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

庄庄的家

庄庄的家-网易博客

 
 
 

日志

 
 

Ajax框架核心代码  

2008-02-29 17:33:26|  分类: Javascript |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

这个框架将事件处理函数和回调函数(响应处理函数)分开,并明确了各自的职责。以后可以根据自己的需求进行扩展,可以重新编写后面两个回调函数,嵌入自己的业务处理事务。


   //定义XMLHttpRequest对象实例
var http_request = false;
   //定义可复用的http请求发送函数
   function send_request(method,url,content,responseType,callback){//初始化、指定处理函数、发送请求函数
   http_request = false;
   //开始初始化XMLHttpRequest对象
   if(window.XMLHttpRequest){//Mozilla浏览器
    http_request = new XMLHttpRequest();
    if(http_request.overrideMimeType){//设置MIME类别
     http_request.overrideMimeType('text/xml');
    }
   }else if(window.ActiveXObject){//IE浏览器
    try{
     http_request = new ActiveXObject("Msxml2.XMLHTTP");
    }catch (e){
     try{
      http_request = new ActionXObject("Microsoft.XMLHTTP");
     }catch (e){}
    }
   }
   if(!http_request){//异常,创建对象实例失败
    window.alert("不能创建XMLHttpRequest对象实例");
    return false;
   }
   if(responseType.toLowerCase()=="text"){
    //http_request.onreadystatechante = processTextResponse;
    http_request.onreadystatechange = callback;
   }
   if(responseType.toLowerCase()=="xml"){
    //http_request.onreadystatechante = processXMLResponse;
    http_request.onreadystatechange = callback;
   }
   else{
    window.alert("响应类别参数错误");
    return false;
   }
   //确定发送请求的方式和URL以及是否执行下段代码
   if(method.toLowerCase() == "get"){
    http_request.open(method,url,true);
   }else if(method.toLowerCase == "post"){
    http_request.open(method,url,true);
    http_reqeust.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   }else{
    window.alert("http 请求类别参数错误");
    return false;
   }
   http_request.send(content); //content可以为null
   }
   //处理返回文本格式信息的函数
   function processTextResponse(){
   if(http_request.readyState == 4){//判断对象状态
    if(http_request.status == 200){//信息已经成功返回,开始处理信息
     //alert(http_request.responseText);
     alert("Text文档响应");
    }else{//页面不正常
     alert("您所请求的页面有异常");
    }
   }
   }
   //处理返回XML格式信息的函数
   function processXMLResponse(){
   if(http_request.readyState == 4){//判断对象状态
    if(http_request.status == 200){//信息已经成功返回,开始处理信息
     //alert(http_request.responseXML);
     alert("XML文档响应");
    }else{//页面不正常
     alert("您所请求的页面有异常");
    }
   }
   }

  评论这张
 
阅读(217)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017