什么是Ajax

 

1、基于XML的异步JavaScript,简称 Ajax (Asynchronous JavaScript and XML的缩写)。

允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax.

 

 

​2、Ajax:一种不用刷新整个页面便可与服务器通讯的办法(主要得益于XMLHTTP组件XMLHTTPRequest对象)

        

        #我们来总结一下不用刷新整个页面便可与服务器通讯的办法:

            *Flash

            *Java applet

            *框架:<frameset />  如果使用一组框架构造了一个网页,可以只更新其中一个框架,而不必惊                动整个页面隐藏的iframe

            *XMLHttpRequest:该对象是对 JavaScript 的一个扩展,可使网页与服务器进行通信。是创建 Ajax 应用的最佳选择。实际上通常把 Ajax 当成XMLHttpRequest对象的代名词 。

 

 

​​3、Ajax并不是一项新技术,其实是多种技术的综合,包括Javascript、XHTML和CSS、DOM、XML和XMLHttpRequest.     ​实质上,Ajax 还是一种JavaScript编程语言(扩展),JavaScript是一种黏合剂,使Ajax应用的各部分集成在一起。

 

 

4、Ajax的工作原理:

        AJAX采用异步交互过程。AJAX在用户与服务器之间引入一个中间媒介(相当于加了个中间层,使用户操作与服务器响应异步化),并不是所有的用户请求都提交给服务器,一些数据验证和数据处理等,都交给Ajax引擎来做,只有确定需要从服务器读取新数据时,再由Ajax引擎带向服务器提交请求。从而消除了网络交互过程中的处理—等待—处理—等待缺点。

 

        ​#我们理解一下什么是同步和异步:

        举个例子:普通B/S模式(同步)       AJAX技术(异步)

       *  同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事

       *   异步: 请求通过事件触发->服务器处理(这时浏览器仍然可以作其他事情)->处理完毕

 

         同步是指:发送方发出数据后,等接收方发回响应以后才发下一个

                        数据包的通讯方式。  

         异步是指:发送方发出数据后,不等接收方发回响应,接着发送下

                       个数据包的通讯方式 

 

    

        ​Ajax的核心是JavaScript对象XmlHttpRequest(Ajax引擎)。

        该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。

        简而言XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。

 

         用户的浏览器在执行任务时即装载了AJAX引擎。AJAX引擎用JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。

 

 

 

​5、在Ajax中,JavaScript主要被用来传递用户界面上的数据到服务器端并返回结果。

       XMLHttpRequest对象用来响应通过HTTP传递的数据,一旦数据返回到客户端就可以立刻使用DOM将数据放到网页上。

 

 

6、Ajax未出现以前,基于Web的应用必须提交整个页面才能验证数据,或者要依赖复杂的JavaScript来检查表单,尽管有些检查很简单,可以使用JS编写,但是另外一些检查则不然,完全靠JS是办不到的。而且,客户端编写的每一个验证例程​都必须在服务器上一某种方式重写,因为用户有可能禁用JavaScript。  

 

       ​Ajax出现以后,利用Ajax,可以不受这个限制,不再只是编写简单的客户端验证和重复的逻辑。如果你想提高用户体验,可以简单的调用为服务器编写的验证例程。大多数情况这个逻辑编写起来更简单,测试页更容易。

 

        ​一般会建议从验证开始使用Ajax。

 

 

7、Ajax优点:减少了用户等待服务器响应的时间浪费(或说无状态连接的痛苦)

                            ​可以排除下载冗余HTML的需要

                            ​提高进程速度

 

 

 

​8、Ajax缺点:AJAX大量使用了Javascript和AJAX引擎,其最大的问题在于跨浏览器的

兼容问题。

                            AJAX更新页面内容的时候并没有刷新整个页面,因此,网页的后退功能是失效的;难以确定当期数据是旧的还是已经更新过的。这个就需要在明显位置提醒用户“数据已更新”。即,页面不刷新,服务器进行操作完毕后,要在页面上给出提示。 

                            对流媒体的支持没有FLASH、Java Applet好。 

                             一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值