美文网首页
ajax--总结

ajax--总结

作者: 小白不白Zcq | 来源:发表于2018-09-08 22:46 被阅读0次

    一、什么是AJAX?

    AJAX = 异步 JavaScript 和 XML。
    AJAX 是一种在无需重新加载整个网页的情况下,就能够更新部分网页的技术。也是一种用于创建快速动态网页的技术。

    二、为什么要使用AJAX

    通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
    传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

    (有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。)

    三、我所理解的XMLHttpRequest对象

    XMLHttpRequest 对象用于在后台与服务器交换数据。
    通过XMLHttpRequest 对象我们可以实现:
    1.在不重新加载页面的情况下更新网页
    2.在页面已加载后从服务器请求数据
    3.在页面已加载后从服务器接收数据
    4.在后台向服务器发送数据
    5.所有现代的浏览器都支持 XMLHttpRequest 对象。

    创建 XMLHttpRequest 对象的语法:

    xmlhttp=new XMLHttpRequest();
    

    老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:

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

    四、AJAX的优缺点

    优点

    1.不刷新页面更新数据。

    可以减少用户等待时间,提升用户体验。

    2.异步方式与服务器通信。

    AJAX使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。

    3.前后端负载平衡。

    AJAX的原则是“按需取数据”,减少不必要的请求和响应。

    4.基于标准被广泛支持。
    5.前后端分离

    缺点

    1.AJAX中没有Back和History功能,即对浏览器机制的破坏。
    后退按钮是一个标准的web站点的重要功能,但是它没法和js进行很好的合作。这是ajax所带来的一个比较严重的问题,因为用户往往是希望能够通过后退来取消前一次操作的。那么对于这个问题有没有办法?答案是肯定的,用过Gmail的知道,Gmail下面采用的ajax技术解决了这个问题,在Gmail下面是可以后退的,但是,它也并不能改变ajax的机制,它只是采用的一个比较笨但是有效的办法,即用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。)
    但是,虽然说这个问题是可以解决的,但是它所带来的开发成本是非常高的,和ajax框架所要求的快速开发是相背离的。这是ajax所带来的一个非常严重的问题。
    2.AJAX的安全问题。
    AJAX技术给用户带来很好的用户体验的同时也对IT企业带来了新的安全威胁,Ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。
    3.对搜索引擎支持较弱。
    对搜索引擎的支持比较弱。如果使用不当,AJAX会增大网络数据的流量,从而降低整个系统的性能。
    4.破坏程序的异常处理机制。
    至少从目前看来,像ajax.dll,ajaxpro.dll这些ajax框架是会破坏程序的异常机制的。后来我自己做了一次试验,分别采用ajax和传统的form提交的模式来删除一条数据……给我们的调试带来了很大的困难。
    5.AJAX不能很好支持移动设备。
    6.资源定位的初衷是相背离的。
    7.如果用户禁用了JS,网站就取不到数据。

    https://www.cnblogs.com/tylerdonet/p/3520862.html

    相关文章

      网友评论

          本文标题:ajax--总结

          本文链接:https://www.haomeiwen.com/subject/myglgftx.html