Ajax原理以及优缺点

ajax原理和XMLHttpRequest对象
Ajax 的原理简单来说通过XMLHttpRequest 对象来向服务器发异步请求,从服务器获取数据,然后用javascript 来操作DOM 来更新页面,这其中最关键的一步就是从服务器获得请求数据。要清除这个过程和原理,我们必须对XMLHttpRequest 有所了解。
XMLHttpRequest 是ajax 的核心机制,他是在IE5中首先引入的。是一种支持异步请求的技术。简单的说,也就是javascript 可以及时向服务器提出请求和处理响应,而不是阻塞用户,达到无刷新的效果。
所以我们先从XMLHttpRequest讲起,来看看它的工作原理。
首先,我们先来看看XMLHttpRequest这个对象的属性。
它的属性有:
onreadystatechange 每次状态改变所触发事件的事件处理程序。

responseText 从服务器进程返回数据的字符串形式。

responseXML 从服务器进程返回的DOM兼容的文档数据对象。

status 从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)

status Text 伴随状态码的字符串信息

readyState 对象状态值

0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)

1 (初始化) 对象已建立,尚未调用send方法

2 (发送数据) send方法已调用,但是当前的状态及http头未知

3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,

4 (完成) 数据接收完毕,此时可以通过responseXml和responseText获取完整的回应数据。

Ajax优缺点:

1.无刷新更新数据

Ajax最大的优点就是能在不刷新整个页面的情况下维持与服务器通信

2.异步与服务器通信

使用异步的方式与服务器通信,不打断用户的操作

3.前端与后端负载均衡

将一些后端的工作移到前端,减少服务器与带宽的负担

4.基于规范被广泛支持

不需要下载浏览器插件或者小程序,但需要客户允许JavaScript在浏览器上执行。

5.界面与应用分离

Ajax使得界面与应用分离,也就是数据与呈现分离

缺点

1.Ajax干掉了Back与History功能,即对浏览器机制的破坏

在动态更新页面的情况下,用户无法回到前一页的页面状态,因为浏览器仅能记忆历史纪录中的静态页面

2.安全问题

AJAX技术给用户带来很好的用户体验的同时也对IT企业带来了新的安全威胁,Ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。

3.对搜索引擎支持较弱

4.破坏程序的异常处理机制

5.违背URL与资源定位的初衷

6.客户端肥大,太多客户段代码造成开发上的成本

文章摘录:
http://www.cnblogs.com/yingsmirk/archive/2012/04/10/2441193.html

你可能感兴趣的:(ajax)