AJAX学习感悟

来源:互联网 发布:小刀娱乐网90源码 编辑:程序博客网 时间:2024/04/30 11:22

 一:AJAX的定义
        AJAX(Asynchronous JavaScript and XML),包括JavaScript、XHTML和CSS、DOM、XML和XSTL、

XMLHttpRequest技术的综合。
       其中XHTML和CSS---标准化呈现,DOM----实现动态显示和交互,XML和XSTL---进行数据交换与处

理,XMLHttpRequest---进行异步数据读取,JavaScript----绑定和处理所有数据。
二:与传统web的区别
            传统web:采用同步交互过程。用户首先向HTTP服务器触发一个行为或请求的呼求。服务器执行某

些任务,再向发出请求的用户返回一个HTML页面。这是一种不连贯的用户体验,服务器在处理请求的

时候,用户多数时间处于等待的状态,屏幕内容也是一片空白。重新加载整个页面,会让用户等待时

间过长。
    
           AJAX:采用异步交互过程。AJAX在用户与服务器之间引入了一个中间媒介(AJAX引擎:用

JavaScript语言编写,通常藏在一个隐藏的框架中)。该引擎允许用户与应用软件之间的交互异步进行

,独立于用户与网络服务器间的交互。用Javascript调用AJAX引擎来代替产生一个HTTP的拥护动作,

内存中的数据编辑、页面导航、数据校验这些不需要重新载入整个页面的需求可以交给AJAX来执行。
三:使用AJAX,可为ISP、开发人员、终端用户带来的可见的便捷:
    1:减轻服务器的负担
    2:无刷新更新页面,减少用户心理和实际的等待时间
    3:带来更好的用户体验
    4:可调用外部数据
    5:基于标准化的并被广泛支持的技术,不需要下载插件或小程序
    6:进一步促进页面呈现和数据的分离
四:AJAX的开发框架
    开发流程:
    1:初始化对象并发出XMLHttpRequest请求
    2:指定响应处理函数
    3:发出HTTP请求
    4:处理服务器返回的信息
    框架:
       <script language="javascript">
           var http_request=false;
           function send_request(url){//初始化、指定处理函数、发送数据的函数
                http_request=false;
                //开始初始化XMLHttpRequest对象
                if(window.XMLHttpRequest){//Mozilla浏览器
                      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 ActiveXObject("Microsoft.XMLHTTP");
                          }catch(e){}
                      }
                 }
                 if(!http_request){//异常,创建对象实例失败
                       window.alert("不能创建XMLHttpRequest对象实例。");
                       return false;
                 }               
                 http_request.onreadystatechange=processRequest;
                 //确定发送请求的方式和URL以及是否同步执行下段代码
                 http_request.open("GET",url,true);
                 http_request.send(null);
          }
          //处理返回信息的函数
          function processRequest(){
                  if(http_request.readyState==4){//判断对象状态
                      if(http_request.status==200){//信息已成功返回,开始处理信息
                          alert(http_request.responseText);
                      }else{//页面不正常
                          alert("您所请求的页面有异常。");
                        }
                   }
          }
         </script>

原创粉丝点击