首页 > 编程 > JavaScript > 正文

jQuery的Ajax接收java返回数据方法

2019-11-19 13:17:22
字体:
来源:转载
供稿:网友

1.前端Ajax请求如下:

$.ajax({  type : "post",  //async:false,  url : PATH + "/product/selectPicture.action",  dataType : "json",  success : function(data) {   $.each(data,function(k,v){     alert(k +":"+ v);    });  } });

2 其中PATH在jsp页面中定义:

<%String path=request.getContextPath();%><script> var PATH = ‘<%=path%>';</script>

2.1 后端java代码输出json格式数据:

List<Map<String,Object>> list = bo.selectData();response.setContentType("application/json;charset=GBK");PrintWriter out=response.getWriter();  out.write(JSONArray.fromObject(list).toString());out.flush();out.close();

其中list为从数据库中查出的数据,JSONArray.fromObject(list)需要导入json-lib-2.4-jdk15.jar包,而且这个包需要在导入几个依赖包才能用这个百度一下吧。注意返回的格式为json,和编码格式。

2.2 也可以使用alibaba的fastjson1.2.8.jar包,那么后端就该这么写:

List<Map<String,Object>> list = productService.selectCategory();String jsonString = JSON.toJSONString(list, true); response.setContentType("application/json;charset=utf-8"); PrintWriter out = response.getWriter();out.write(jsonString);out.flush();out.close();

2.3 如果后端用的是基于注解的springMVC,就这么写:

@ResponseBodypublic JSONArray selectData(HttpServletRequest request){   List<Map<String,Object>> list= bo.selectData();   return JSONArray.fromObject(list); }

就是在方法前加上@ResponseBody注解,并return json格式的数据即可。

3 如果Ajax要求返回的数据类型为 dataType : “html”,那么后端java就是:

String key = bo.selectData();response.setContentType("text/html;charset=utf-8");Writer out = response.getWriter();out.write(key);out.flush();out.close();

在Ajax的success : function(data) { }方法中,data就是就是从后端返回的数据。

以上这篇jQuery的Ajax接收java返回数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表