下沙论坛

 找回密码
 注册论坛(EC通行证)

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 2200|回复: 2
打印 上一主题 下一主题

什么是AJAX

 关闭 [复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2008-11-19 16:58:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
什么是AJAX% y, p+ k5 W  r2 y7 V# M/ S
现在应聘网站开发,势必会遇到AJAX这个词语。到到底什么是AJAX呢?
* S, Z) y& m$ E/ v/ F  nAJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 0 F" y/ Z1 B6 J. S& ]: P" h/ m

5 X8 l9 {9 F" _' o/ Q* {# K! D0 D主要包含了以下几种技术: 8 X/ {2 Z& R0 H8 j) T8 o

/ H. ~% p1 e* w. j5 `: tAjax(Asynchronous JavaScript + XML)的定义
* h- F! n- C0 y  U
1 K, `- K: K6 Q( ?! y" _基于web标准(standards-based presentation)XHTML+CSS的表示;   O3 v( ~  d" z/ |9 d0 `5 Q
$ x2 W' v" _( [  E+ Z
使用 DOM(Document Object Model)进行动态显示及交互; / L! h% Z9 a: G$ f/ e
" C! [. v; W  z" R  M6 M6 s" P
使用 XML 和 XSLT 进行数据交换及相关操作;
% o, {3 i' v7 B
7 K) u& G* n- N' P) J, y4 T7 f5 D使用 XMLHttpRequest 进行异步数据查询、检索; & o( j# D5 U$ p) F; `) t% |2 R
' r% M4 V  ]$ h+ K& ]: T" Q
使用 JavaScript 将所有的东西绑定在一起。英文参见Ajax的提出者Jesse James Garrett的原文a & _1 U7 I& ^( u2 L) X

( ^: k2 L+ i! U类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。 & {3 K, \* }6 w# \+ E

* P+ T9 B3 Q/ t4 y) ~( q! h7 XAJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式对象,也不支持XSLT。
0 l6 Z6 c; W, \% N& ~3 f" s
2 ]- b; i/ U( d6 |7 ~与传统的web应用比较
% j. X$ {, ^) ~' {: ~" o& F8 x; h% q# y8 `, ~2 s  C
传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。这个做法浪费了许多带宽,因为在前後两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。
( ]5 Q# Q# A* `* a/ n9 n2 O
9 M: V' B0 w$ W- ?8 m- X$ q; U+ r与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。
, x6 w7 D' h9 Y9 y" C" A  W  q- A9 S9 B
Ajax应用程序的优势在于:
& K2 K! ]2 M5 ]- f5 H! ]6 c  i
, K! a# _: o1 m# E" M4 ?3 e1. 通过异步模式,提升了用户体验; G% s: B% p9 S6 X9 u1 l& ~

. y0 w5 c3 i/ G- t( U6 Y; a. {0 \5 a2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
# f6 R8 Y" U0 c: b% M/ P
& @; G: k* V2 r3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。; R$ k2 ]; y' J  n7 k# A' m0 {
4 ~3 A3 v8 G0 x+ O. f- y6 I" k8 R2 X
Ajax的工作原理
- q3 l  X9 \$ D0 o1 Q: m+ L" f1 ~- ]$ [
  Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
- z0 O$ V5 b. U
% B& Y: D7 i1 p* h: J; P  在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。下面是使用Ajax可以完成的功能:1 F/ d& v/ p: H' t6 m5 |

1 _( b: d2 C$ B2 u* A    动态更新购物车的物品总数,无需用户单击Update并等待服务器重新发送整个页面。
+ N. H* O: n: q1 R; s' b( d/ ]$ v8 t$ A5 ]
    提升站点的性能,这是通过减少从服务器下载的数据量而实现的。例如,在某购物车页面,当更新篮子中的一项物品的数量时,会重新载入整个页面,这必须下载整个页面的数据。如果使用Ajax计算新的总量,服务器只会返回新的总量值,因此所需的带宽仅为原来的百分之一。 消除了每次用户输入时的页面刷新。例如,在Ajax中,如果用户在分页列表上单击Next,则服务器数据只刷新列表而不是整个页面。
8 ~0 n& |  m/ @. [# ~1 C8 |直接编辑表格数据,而不是要求用户导航到新的页面来编辑数据。对于Ajax,当用户单击Edit时,可以将静态表格刷新为内容可编辑的表格。用户单击Done之后,就可以发出一个Ajax请求来更新服务器,并刷新表格,使其包含静态、只读的数据。
1 `" g3 p) h, V+ ^7 }$ T' P  _- |3 E. B" ?' F  J# }" Q
  一切皆有可能!但愿它能够激发您开始开发自己的基于Ajax的站点。然而,在开始之前,让我们介绍一个现有的Web站点,它遵循传统的提交/等待/重新显示的范例,我们还将讨论Ajax如何提升用户体验。2 X) g' r+ z4 k8 {/ z2 w% G5 D' P

# d4 g, F$ I8 `5 {* X. c. ?( {   Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。7 Y- F% J* Z! k$ j# k5 D
' j5 c  X$ w1 f- u0 g6 I
熟悉Ajax的基本框架后,就可以着手去学习Ajax了。我给大家推家一下我的入门书人邮的《精通 Ajax---基础概念、核心技术与典型案例》。不知道书店还有没有,不过网上还能看到http://www.china-pub.com/38158。希望大家可以掌握这门技术。

评分

2

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

2
发表于 2008-11-19 18:10:13 | 只看该作者
回复 支持 反对

使用道具 举报

本版积分规则

关闭

下沙大学生网推荐上一条 /1 下一条

快速回复 返回顶部 返回列表