前后台$.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