/**
* 转载请注明作者longdick http://longdick.iteye.com
*
*/
试试纯粹的Ajax吧(一)-----Give me a try!
JSON(JavaScript Object Notation) 是种轻量级的数据交换格式。对用户来说易读易写;对机器来说,也比较容易解析和生成。JSON基于JavaScript语言的子集,而且是一种语言独立的文本格式,支持C系语言包括C,C++,Java,Perl,JavaScript等和许多其他语言。
我们就把这个Ajax应用稍微改一下,让它用JSON的方式来传数据。
Servlet改成如下所示:
private int i=0;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String address=request.getParameter("address");
response.getWriter().write("{Root:{Add:'"+address+"',Num:"+(i++)+"}}");
}
返回的是一串遵守JSON规范的字符串。类似这个:{Root:{Add:'MyHome',Num:78}}。
Ajax回调函数updatePage()修改如下:
function updatePage(){
if(request.readyState==4){
if(request.status==200){
var v=request.responseText;
var obj=eval("("+v+")");
document.form1.text1.value=obj.Root.Add+":"+obj.Root.Num;
request=null;
}else
alert("error status:"+request.status);
}
}
这时候又换回responseText接收了。
var obj=eval("("+v+")"); eval()函数可以将返回的JSON 字符串转换成一个Javascript对象。
然后就用JavaScript中操作对象的方法操作这个JSON对象,把里面的对象属性一个个的取出来。
JSON和XML这种数据交换格式一样都能有效的组织和传递数据,但是对于大多数 Web 应用来说,他们根本不需要复杂的 XML 来传输数据,XML 的扩展性很少具有优势。JSON比XML更加精简,更加轻量级。JSON 现在已经是 JavaScript 标准的一部分。目前,主流的浏览器对 JSON 支持都比较完善,因此,选用JSON作为AJAX应用中的数据交换格式来代替XML不失为一种好办法。
本文介绍如何使用纯Ajax技术实现客户端与服务器之间的JSON数据交换。通过修改Servlet以返回JSON格式的数据,并展示如何利用JavaScript的eval函数将JSON字符串转换为对象进行处理。

被折叠的 条评论
为什么被折叠?



