近日在做門戶的使用者評論時,好長時間沒有用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>