sp;if (req.readyState==4 && req.status==200) {
if(req.responseText!=-1){
nodes=req.responseXML.documentElement.childNodes;
browse_cnt.innerText=nodes.item(0).text;
comment_cnt.innerText=nodes.item(1).text;
score_cnt.innerText=nodes.item(2).text;
}
}
}
req.open(''POST'', ''$path/AjaxCntCtrl'');
req.setRequestHeader(''Content-Type'', ''application/x-www-form-urlencoded'');
req.send("photo_id="+document.form1.photo_id.value);
}
}
//responseXML.documentElement.getAttribute(''stat'') == ''ok''
//responseXML.documentElement.getElementsByTagName(''title'')[0].firstChild.data;
4、XML
可扩展的标记语言(Extensible Markup Language)具有一种开放的、可扩展的、可自描述的语言结构,
它已经成为网上数据和文档传输的标准。它是用来描述数据结构的一种语言,就正如他的名字一样。
他使对某些结构化数据的定义更加容易,并且可以通过他和其他应用
程序交换数据。
<!--?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<photo_cnt>
<browse_cnt>6</browse_cnt>
<comment_cnt>6</comment_cnt>
<score_cnt>6</score_cnt>
</photo_cnt-->
5、综合
Jesse James Garrett提到的Ajax引擎,实际上是一个比较复杂的JavaScript应用
程序,用来处理用户请求,
读写服务器和更改DOM内容。
JavaScript的Ajax引擎读取信息,并且互动地重写DOM,这使网页能无缝化重构,
也就是在页面已经
下载完毕后改变页面内容,这是我们一直在通过JavaScript和DOM在广泛使用的方法,
但要使网页真正动态起来,不仅要内部的互动,还需要从外部获取数据,在以前,
我们是让用户来输入数据并通过DOM来改变网页内容的,但现在,XMLHTTPRequest,
可以让我们在不重载页面的情况下读写服务器上的数据,使用户的输入达到最少。
基于XML的网络通讯也并不是新事物,实际上FLASH和JAVA Applet都有不错的表现,现在这种富交互在网页上也可用了,
基于标准化的并被广泛支持和技术,并且不需要插件或
下载小
程序。
Ajax是传统WEB应用
程序的一个转变。以前是服务器每次生成HTML页面并返回给客户端(浏览器)。
在大多数网站中,很多页面中至少90%都是一样的,比如:结构、格式、页头、页尾、广告等,
所不同的只是一小部分的内容,但每次服务器都会生成所有的页面再返回给客户端,这无形之中是一种浪费,
不管是对于用户的时间、带宽、CPU耗用,还是对于ISP的高价租用的带宽和空间来说。如果按一页来算,
只能几K或是几十K可能并不起眼,但像SINA每天要生成几百万个页面的大ISP来说,可以说是损失巨大的。
而AJAX可以所为客户端和服务器的中间层,来处理客户端的请求,并根据需要向服务器端发送请求,
用什么就取什么、用多少就取多少,就不会有数据的冗余和浪费,减少了数据
下载总量,
而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于纯后台处理并重载的方式缩短了用户等待时间,
也把对资源的浪费降到最低,基于标准化的并被广泛支持和技术,并且不需要插件或
下载小
程序,
所以Ajax对于用户和ISP来说是双盈的。
Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离),而在以前两者是没有清晰的界限的,
数据与呈现分离的分离,有利于分工合作、减少非技术人员对页面的修改造成的WEB应用
程序错误、提高效率、
也