欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-09-28 15:41:49
1.前端ajax请求如下: $.ajax({ type : "post", //async:false, url : path + "/prod...

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返回数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。