<P>JavaScript 本身并不能向服务器发送请求,可以有两种方法:一种是通过 XMLHttpRequest
对象发送请求,另一种是使用</P>
<P>Widows.open()方法重新打开一个页面向服务器提交请求。不同的是,前者是异步交互方
式,后者是同步交互方式。 <BR> (二)Ajax 的工作原理 <BR> 与传统的 WEB 模型相
比,Ajax 的运行是建立在异步交互的基础上的,异步交互的基本思想是尽量减少等待的时间。
基</P>
<P>于 AJAX 的 WEB 应用开发模型(如图 1 所示),只传输和更新需要的数据,而不用刷新整个
页面,也就是通过网络传输的不是用</P>
<P>户真正需要的数据,这样的工作模型不仅加快了用户请求的响应速度,还避免了刷新页面
带来的屏幕闪烁。 <BR> 异步访问和同步访问最大的差别是客户端使用了单独一个层
来访问服务端,而和客户交互则全部在客户端解决了。</P>
<P>如图 1 所示,基于 Ajax 的 WEB 应用开发模型在用户和服务器之间引入了一个中间件—
Ajax 引擎,它使用户操作与服务器响</P>
<P>应异步化。当用户访问或请求一个具有 Ajax 功能的页面时,网页会将请求信息交给
JavaScript 进行处理,当需要提供新</P>
<P>的信息时,通过 XMLHttpRequest 向服务端发送请求,服务端接受请求,根据要求访问数据
库或 XML 文件,并将数据返还客户</P>
<P>端的 JavaScript 程序进一步处理。 <BR> 三、基于 AJAX 的聊天室的设计与实现
<BR> “EM 聊天室”系统除了 Ajax 技术以外采用的是 ASP.NET2.0 技术,开发环境为
VS2005,选择 C#作为开发语言。 <BR> 本实例比较精巧,具有以下特点:第一,我考虑到聊
天室是一种“公共场所”,对消息的持久性要求不高,没有必要使</P>
<P>用数据库,但是应该有简单的“记忆”功能,即查看以往的聊天记录,因此,将用户信息和聊天
记录保存在聊天引擎</P>
<P>ChatEngine 里;第二,Server.aspx 来统一接收用户的请求,是一个中央处理器;第三,使用
Ajax 发送消息,取得用户和消息</P>
<P>数据,隐藏更新页面。这样,通过少量的文件实现整个聊天室的功能。 </P>
<P>(一)系统功能结构 <BR> “EM 聊天室”系统功能主要包括:用户登录、发送聊天信息、
显示聊天记录、存储聊天记录、显示在线用户列表等。结合 Ajax 的工作原理,给出“EM 聊
天室”的功能模块,如图 4 所示。 <BR> (二)基于 Ajax 聊天室的实现 <BR> “EM
chatroom”聊天室程序的设计中 Ajax 技术贯穿于聊天室系统的各个功能模块。 <BR> 1.
客户端的实现。 <BR> 客户端实际就是 Ajax 技术的实现,即聊天室的首页和聊天室主界
面。最典型的应用为聊天室主界面的实现。聊天室主界面主要包括显示聊天内容、在线用
户列表和输入信息区域进行在线聊天的功能。 <BR> “EM chatroom”聊天室程序主页界
面如图 5 所示,实现它的文件名为 Chat.aspx,通过调用
captureReturn()、sniffBrowserType()、showLoadScreen()、setTimers()函数来实现上述三个功