Ajax

正如大家所了解的,Web2.0与1.0最大的区别就是引入了Ajax。Ajax使web实现了最初的承诺:动态的交互数据。

理解ajax的关键是了解Http-超文本传输协议。 http协议用来传输网页、图像以及因特网上在浏览器与服务器间传输的其他类型文件。 该协议有两部分组成: 请求和相应。当在web浏览器中输入一个url时,浏览器将根据要求创建并发出请求,该请求包含所输入的url以及一些与浏览器本身相关的信息。当服务器收到这个请求时将返回一个响应,该响应包括与该请求相关的信息以及位于指定url的数据。直到浏览器解析该响应并显示出网页或其他资源为止。如下图所示:

 

上图是传统的数据提交和返回形式,该过程是同步的,用户的大部分时间浪费在了等待和页面刷新上。   Ajax的出现改变了这种现状,它提供了一步处理问题/请求的能力。如下图所示:

 

从图中可以看出,Ajax和传统的同步方式最大的差别是客户端使用了单独一个层来访问服务器,而和客户交互则全部放在了客户端解决。 这样就改变了客户需要等待服务器端缓慢反应的传统方式。

如何在客户端建立异步通信层呢,这就需要依靠XMLHttpRequest对象了。 XMLHttpRequest对象是Ajax技术的核心,它是XMLHttp组件的对象。通过XMLHttpRequest可以像桌面应用程序一样只同服务器进行数据层面的信息交互,而不用刷新页面,也不用服务器处理数据,客户端或者说浏览器会分担服务器部分任务,这样用户体验度提高了,服务器负担也减轻了。下面是创建XMLHttpRequest对象的方法:

var xhr;

function createXMLHttpRequest(){

    if(window.XMLHTTPRequest){

        xhr = new XMLHttpRequest();//firefox

    }else if(window.ActiveObject){//IE

        try{

            xhr = new ActiveXObject("Msxml2.XMLHTTP");

         } catch (Exception e){

             xhr = new ActiveXObject("Microsoft.XMLHTTP");

         }

    }

}

你可能感兴趣的:(Ajax,区别,Web2.0,Web1.0)