[color=darkred]最近在读《ajax模式与最佳实践》,可能javascript了解的太少 很多地方读起来非常吃力,还好前面几个模式相对简单,勉强可以看明白。[/color]
内容分块模式 content chunking pattern
[b]定义[/b]:一个单独的html页面可能包含多个内容分块,这些内容分块的数据被分别引用和下载
[b]应用场景[/b]:一个web页面分为几个区域,各个区域的数据通过不同的接口来取得,那么我们可以通过在客户端分别加载来代替由服务器一次全部发送的方式.
此模式是最常用的模式之一,也可以说是ajax的特点。
服务器发送到客户端的数据有以下几种:
1. Xml格式:这是首选数据格式
2. Xhtml格式:这种格式的数据在客户端不用解析,可直接插入到合适的位置,但是这种格式是不推荐的,因为xhtml格式不是通用的。
3. Javascript代码:客户端接受到的js代码可以通过eval语句来执行。这种方式可以完成一些特殊的功能,非常灵活。
第一和第二种方式可能是大家常用的,而第三种方式相信很多人没有用过,用法倒是很简单如下
[code]function(originalRequest){
eval(originalRequest.responseText);//执行服务器返回的js脚本
}[/code]
但是这样服务器返回的js代码跟页面耦合太强,不利于服务端代码的复用
内容分块模式 content chunking pattern
[b]定义[/b]:一个单独的html页面可能包含多个内容分块,这些内容分块的数据被分别引用和下载
[b]应用场景[/b]:一个web页面分为几个区域,各个区域的数据通过不同的接口来取得,那么我们可以通过在客户端分别加载来代替由服务器一次全部发送的方式.
此模式是最常用的模式之一,也可以说是ajax的特点。
服务器发送到客户端的数据有以下几种:
1. Xml格式:这是首选数据格式
2. Xhtml格式:这种格式的数据在客户端不用解析,可直接插入到合适的位置,但是这种格式是不推荐的,因为xhtml格式不是通用的。
3. Javascript代码:客户端接受到的js代码可以通过eval语句来执行。这种方式可以完成一些特殊的功能,非常灵活。
第一和第二种方式可能是大家常用的,而第三种方式相信很多人没有用过,用法倒是很简单如下
[code]function(originalRequest){
eval(originalRequest.responseText);//执行服务器返回的js脚本
}[/code]
但是这样服务器返回的js代码跟页面耦合太强,不利于服务端代码的复用