jQuery中ajax和post处理json的不同

jQuery POST与AJAX处理JSON
本文通过一个具体的实例对比了使用jQuery的POST方法与AJAX方法处理JSON数据的不同。指出POST方法回调JSON数据时需要使用eval进行转换,而AJAX方法则自动处理此过程。此外还分享了后台Java代码及Struts2配置。

近日在做门户的用户评论时,好长时间没有用jquery了正好用一下,没想到偷工用了post方法去处理ajax回调的json数据,死活取不到,后台就是有json返回了。不料这么小小一个问题挂了我好几个小时,后来我ajax方法处理,居然OK,一比较发现原来post方法回调json必须eval一下,而ajax方法做了默认处理了。 望各位小心。。。 

[javascript]  view plaincopyprint?
  1. function haha() {  
  2.     jQuery.post("addComment!comment.action",  
  3.      function aa(data) {  
  4.           data = eval(data);//POST方法必加,ajax方法自动处理了  
  5.           alert(data[0].userId);  
  6.           alert(data[0].userName);  
  7.     },  
  8.     "json"  
  9.     );  
  10.       
  11.     jQuery.ajax({  
  12.         type:"post",  
  13.         url:"addComment!comment.action",  
  14.         dataType:"json",  
  15.         success: function aa(data) {  
  16.               alert(data[0].userId);  
  17.               alert(data[0].userName);  
  18.         }  
  19.     });  
  20. }  

 

后台:

  1.     public String comment() {  
  2.         try{  
  3.         User u = new User("user", "koko");  
  4.         list = new ArrayList<User>();  
  5.         list.add(u);  
  6.         //map.put("id", userId);  
  7. //      JSONObject jb = JSONObject.fromObject(list); // name:"+userName +",  
  8. //      info = jb.toString();  
  9.         System.out.println(list);  
  10.         }  
  11.         catch (Exception e) {  
  12.             e.printStackTrace();  
  13.         }  
  14.         return SUCCESS;  
  15.     }  

 配置:

  1.     <package name="ajax" extends="json-default">  
  2.         <action name="addComment" class="org.test.action.CommentAction">  
  3.         <result type="json">  
  4.            <param name="root">list</param>  
  5.         </result>  
  6.         </action>  
  7. 。。。。。。  

转载于:https://www.cnblogs.com/ranzige/p/4039429.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值