ajax--总结

一、什么是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--总结)