for(var i in datares){
if (datares.hasOwnProperty(i)) {
sel.append("<option value='"+datares[i].deptid+"'>"+datares[i].deptname+"</option>");
}
}
ajax請求返回map,并遍歷
$.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);
})
}
})
})
發送請求到后臺,然后后臺通過各種操作,得到相應數據
如果數據為 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, function(i,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();在前的話,轉換也不起作用!