/**
* 转载请注明作者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不失为一种好办法。