前后台$.post交互并返回JSON对象

1、前台代码:

$.post(url,{"blogId":blogId},function(reData){
	if(reData.state=="success"){
		alert("删除成功");
		window.location.href="${pageContext.request.contextPath }/blog/searchAll.do";
	}else{
		alert("删除失败");
	}
},"json");


如果$.post的第四个参数没有设置为json,返回的是json字符串,当设置了“json”后,转化为json对象,如上面的代码。

2、后台代码:

1)设置返回数据

Map<String,Object> map=new HashMap<String,Object>();
map.put("state", "success");
ResponseUtil.writeToJSON(response, map);


2)输出代码:

	/**
	 * 转换为JSON格式输出
	 * @param response
	 * @param o
	 * @throws Exception
	 */
	public static void writeToJSON(HttpServletResponse response,Object o)throws Exception{
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out=response.getWriter();
		JSONObject jsonObject=JSONObject.fromObject(o);
		out.println(jsonObject);
		out.flush();
		out.close();
	}


参考博客:

[1]zhuchunyan_aijia,ajax请求返回json字符串/json对象 处理,http://blog.csdn.net/zhuchunyan_aijia/article/details/50730700

原文地址:https://www.cnblogs.com/ryelqy/p/10104178.html