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>
。。。。。。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。