试试纯粹的Ajax吧 (三)----JSON Now!

/**

*  转载请注明作者longdick    http://longdick.iteye.com

*

*/

 

试试纯粹的Ajax吧(一)-----Give me a try!

试试纯粹的Ajax吧 (二)----让server返回更多

 

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不失为一种好办法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值