AJAX簡介
一、Ajax概述
Ajax的全称是Asynchronous JavaScript and XML,中文定义为”异步JavaScript和XML”,它是Web2.0技术的核心,由多种技术组合而成。使用Ajax技术不必刷新整个页面,只需对页面的局部进行更新,可以节省网络带宽,提高网页加载速度,从而缩短用户等待时间,改善用户体验。 Ajax技术主要包括:客户端脚本语言JavaScript、异步数据获取技术XMLHttpRequest、数据互换和操作技术XML和XSLT、动态显示和交互技术DOM及基于标准的表示技术XHTML和CSS等。Ajax极大的发掘了Web浏览器的潜力,开启了大量的可能性,从而有效地改善了用户操作体验。
传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。这个做法 浪费了许多带宽,因为在前後两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响 应时间。这导致了用户界面的响应比本地应用慢得多。
与此不同,AJAX应用可以仅向服务器发送并取回必需的数据, 它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快 的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。
二、Ajax的工作原理
Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不 阻塞用户。
AJAX 基于因特网标准
AJAX 基于因特网标准,并使用以下技术组合:
· XMLHttpRequest 对象(与服务器异步交互数据)
· JavaScript/DOM(显示/取回信息)
· CSS(设置数据的样式)
· XML(常用作数据传输的格式)
AJAX 应用程序与浏览器和平台无关的!
在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。下面是使用Ajax可以完成的功能:
動態更新購物車的物品總數,無需使用者點擊Update並等待伺服器重新發送整個頁面。
提升網站的性 能,這是透過減少從伺服器下載的資料量而實現的。例如,在淘寶的購物車頁面,當更新籃子中的一項物品的數量時,會重新載入整個頁面,這必須下載 32K的資料。如果使用Ajax計算新的總量,伺服器只會傳回新的總量值,因此所需的頻寬僅為原來的百分之一。
消除了每次使用者輸入時的頁面重新整理。例如,在Ajax中,如果使用者在分頁清單上按一下Next,則伺服器資料只刷新清單而不是整個頁面。
直接編輯表格數據,而不是要求使用者導航到新的頁面來編輯數據。對於Ajax,當使用者按一下Edit時,可以將靜態表格刷新為內容可編輯的表格。使用者點擊Done之後,就可以發出一個Ajax請求來更新伺服器,並刷新表格,使其包含靜態、唯讀的資料。