加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax请求返回map,并遍历

发布时间:2020-12-16 00:19:19 所属栏目:百科 来源:网络整理
导读:最近老用到ajax请求数据,但是每次都遇到一点梗,浪费了些许时间,所以记录下来。 $.ajax({ type: "POST", url: "%=path%/account/queryRolesAndGroups.action", data: "enterpriseId="+eid, success: function(msg){ var obj=eval("(" + msg + ")"); $.each

最近老用到ajax请求数据,但是每次都遇到一点梗,浪费了些许时间,所以记录下来。

$.ajax({

type: "POST",

url: "<%=path%>/account/queryRolesAndGroups.action",

data: "enterpriseId="+eid,

success: function(msg){

var obj=eval("(" + msg + ")");

$.each(obj.groupList,function(i,item){

alert(item.groupName);


})

}

})

})

一:发送请求到后台,然后后台通过各种操作,得到相应数据

1,如果数据为 map,map中包含了多个list,

pw.print(net.sf.json.JSONObject.fromObject(returnMap.get("map")).toString());

后台这样转换,然后前台转换下:var obj=eval("(" + msg + ")");

就可以遍历里面的数据了(注意:net.sf.json.JSONArray.fromObject(returnMap.get("list")).toString())这样是转换单个集合时适用,然后前台直接遍历即可,不需要强转

success: function(msg){

alert(msg.length);

$.each(msg,item){

alert(item.name);


})

}

。JSONArray转包含多个list的map时适用。


还有后台pw.print和pw.println的使用也要注意,当单个数据0,1来给后台判断时,pw.println会带换行符,永远不等于0,1.


response.setContentType("text/plain;charset=UTF-8");

PrintWriter pw =response.getWriter();

这两句对返回乱码处理也要特别注意先后顺序。 PrintWriter pw =response.getWriter();在前的话,转换也不起作用!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读