日期:2010-03-25 浏览次数:20413 次
1 以客户端为中心的Ajax应用
在进行Ajax应用开发的之前,通常我们首先要考虑一个问题,那就是此应用到底以客户端为中心还是以服务器端为中心。什么情况下应该以客户端为中心,而什么情况下应该以服务器端为中心呢?要回答这个问题首先我们要来看看它们各自的一些例子。
我们所见到的一部分Ajax网站,它们和非Ajax网站的结构是类似的,也就是由多个页面组成,一般一个视图就是一个页面,与非Ajax网站不同的地方仅在于引入了与服务器端的后台通信,而且这些通信逻辑通常仅服务于页面上一个局部的区域。例如一个社区的注册页面,输入用户名后自动在后台向服务器查询该用户名是否已被使用;又例如一个书评网站,在你通过选择星星的数量表明对一本书的评级之后,无需刷新页面就能后台保存你的选择。这些都是以服务器端为中心的Ajax应用例子,因为这些网站的逻辑大部分还是放在服务器端,必须在服务器端执行,只不过客户端通过引入后台通信机制增加了对用户的友善程度,减少了用户等待页面刷新的时间。
另外一些Ajax网站则不同,例如Gmail和PageFlakes,它们通常只有一个或者少数几个页面,大部分的逻辑都在客户端执行,服务器的作用仅在于提供数据以及执行少数在客户端执行会导致安全漏洞的操作。这些网站我们称之为以客户端为中心的Ajax应用。接下来我们就看看常见的以客户端为中心的Ajax应用的三种模型。
以客户端为中心的三种模型
我们都知道Ajax无非就是使用XMLHttpRequest对象发送请求给服务器,然后使用返回的数据更新页面上的内容。在这里,我们所能够发送和接收的数据其实都是纯文本的,因此我们能够做出的选择就是以什么样的格式去发送与接收数据。
以内容为中心