实现方法:使用JSONArry对象,将装载在list里的实体类集转化为json,在jq中使用eval("("+data+")")方法将其转化为jq可读取的json数据
Struts.xml
<action name="myAjaxAction" class="readDocumentAction" method="myAjaxAction"><interceptor-ref name="mystack" /></action>
Action.java
public void myAjaxAction(){ try{ HttpServletResponse responses = ServletActionContext.getResponse(); //设置编码格式,注:位置需在list前,否则utf-8格式会不对list起作用,导致乱码问题 responses.setCharacterEncoding("utf-8"); PrintWriter writer = responses.getWriter(); //创建userInfos对象的集合 List<UserInfos> list=new ArrayList<UserInfos>(); //制作数据 UserInfos userInfos1=new UserInfos(); userInfos1.setId("001"); userInfos1.setName("小明"); UserInfos userInfos2=new UserInfos(); userInfos2.setId("002"); userInfos2.setName("小红"); UserInfos userInfos3=new UserInfos(); userInfos3.setId("003"); userInfos3.setName("小黑"); //添加数据 list.add(userInfos1); list.add(userInfos2); list.add(userInfos3); //将List转换为JSON JSONArray jsonArray=JSONArray.fromObject(list); //写入到前台 writer.write(jsonArray.toString()); writer.flush(); writer.close(); }catch (Exception e) { // Todo: handle exception } }
JS
function ajaxJson(){ $.ajax({ type:"post",url:"myAjaxAction.action",async:true,success:function(data) {//获取返回值 alert(data); var obj=eval("("+data+")"); alert(obj); for(var i in obj){ alert("ID:"+obj[i].id+"\nName:"+obj[i].name); } },error:function(e) { alert("验证失败!"); } }); }
HTML
<input type="button" value="测试JSON" onclick="ajaxJson()"/>
原文地址:https://www.jb51.cc/ajax/165998.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。