读书人

jQuery中ajax和post处理json的不同

发布时间: 2014-03-13 22:00:30 作者: rapoo

近日在做门户的用户评论时,好长时间没有用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. jQuery.ajax({

  11. type:"post",

  12. url:"addComment!comment.action",

  13. dataType:"json",

  14. success: function aa(data) {

  15. alert(data[0].userId);

  16. alert(data[0].userName);

  17. }

  18. });

  19. }

后台:

[java] view plaincopyprint?
  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. }

配置:

[html] view plaincopyprint?
  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. 。。。。。。




读书人网 >Ajax

热点推荐