jQuery的Ajax接收java返回数据方法
作者:老贼大魔王
今天小编就为大家分享一篇jQuery的Ajax接收java返回数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
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,就这么写:
@ResponseBody
public 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返回数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- Java使用Ajax实现跨域上传图片功能
 - React+ajax+java实现上传图片并预览功能
 - 使用Ajax进行文件与其他参数的上传功能(java开发)
 - AJAX实现数据的增删改查操作详解【java后台】
 - Java后台判断ajax请求及处理过程详解
 - 使用jquery 的ajax 与 Java servlet的交互代码实例
 - java模拟ajax访问另一个项目的controller代码实例
 - Java+Ajax实现的用户名重复检验功能实例详解
 - AJAX+JAVA用户登陆注册验证的实现代码
 - 原生JavaScrpit中异步请求Ajax实现方法
 - Javaweb使用cors完成跨域ajax数据交互
 - Java使用Ajax异步上传文件
 
