jQuery中ajax和post处理json的不同示例对比

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

function haha() {
jQuery.post("addComment!comment.action",
function aa(data) {
data = eval(data);//POST方法必加,ajax方法自动处理了
alert(data[0].userId);
alert(data[0].userName);
},
"json"
);

jQuery.ajax({
type:"post",
url:"addComment!comment.action",
dataType:"json",
success: function aa(data) {
alert(data[0].userId);
alert(data[0].userName);
}
});
}

  后台:

  

复制代码 代码如下:

  public String comment() {

  try{

  User u = new User("user", "koko");

  list = new ArrayList<User>();

  list.add(u);

  //map.put("id", userId);

  // JSONObject jb = JSONObject.fromObject(list); // name:"+userName +",

  // info = jb.toString();

  System.out.println(list);

  }

  catch (Exception e) {

  e.printStackTrace();

  }

  return SUCCESS;

  }

  配置:

  

复制代码 代码如下:

  <package name="ajax" extends="json-default">

  <action name="addComment" class="org.test.action.CommentAction">

  <result type="json">

  <param name="root">list</param>

  </result>

  </action>