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返回数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论