js獲取通過(guò)ajax返回的map型的JSONArray的方法

2022-05-17 14:41 更新
代碼如下:
for(var i in datares){ 
if (datares.hasOwnProperty(i)) { 
sel.append("<option value='"+datares[i].deptid+"'>"+datares[i].deptname+"</option>"); 
} 

} 

ajax請(qǐng)求返回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); 
  })
}
})  
})

發(fā)送請(qǐng)求到后臺(tái),然后后臺(tái)通過(guò)各種操作,得到相應(yīng)數(shù)據(jù)

如果數(shù)據(jù)為 map,map中包含了多個(gè)list,

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

后臺(tái)這樣轉(zhuǎn)換,然后前臺(tái)轉(zhuǎn)換下:var obj=eval("(" + msg + ")");

就可以遍歷里面的數(shù)據(jù)了(注意:net.sf.json.JSONArray.fromObject(returnMap.get("list")).toString())這樣是轉(zhuǎn)換單個(gè)集合時(shí)適用,然后前臺(tái)直接遍歷即可,不需要強(qiáng)轉(zhuǎn)

success: function(msg){
alert(msg.length);
$.each(msg, function(i,item){      
alert(item.name); 
   })
}

JSONArray轉(zhuǎn)包含多個(gè)list的map時(shí)適用。

還有后臺(tái)pw.print和pw.println的使用也要注意,當(dāng)單個(gè)數(shù)據(jù)0,1來(lái)給后臺(tái)判斷時(shí),pw.println會(huì)帶換行符,永遠(yuǎn)不等于0,1.

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

這兩句對(duì)返回亂碼處理也要特別注意先后順序。     

PrintWriter pw =response.getWriter();在前的話,轉(zhuǎn)換也不起作用!

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)