后台給前台傳來一個map
@ResponseBody @RequestMapping(value = "getSys") public Map<Long,String> getSys(){ Map<Long,String> map = orderService.getSysDate(); return map; }
前台js中怎么迭代呢?【注意each的使用】這只是一種方法,如果想看更多的方法和各個方法的區別,請往下看分割2.
$.post("getSys.jhtml", function(data){ var temp = ""; $.each(data,function(i,d){ temp += '<option value="'+i+'" >'+d+'</option>'; }); console.log(temp); debugger; $("#lab").append(temp); });
結果如下:
================================================================分割1:js小知識==========================================================
【小知識點】:
①debugger; 頁面刷新會停留在代碼的debugger;行。類似於js中打斷點
②console.log(temp); 打印在控制台
========================================================分割2:下面對比each兩種寫法的區別========================================================================
【注意一點】:
each的寫法有兩種,有一種可以map迭代、json對象迭代、數組迭代、list迭代。
有一種,不能迭代map、json對象,只能迭代數組和list。
數組和list都靠下標取值,且js中並無list或map的概念。
所以,數組和list等同,在這里示例中。
map和json對象等同,在這里示例中。【唯一區別在於下面示例中map的key並沒有引號,而json對象的key一定要被引號引起來】
[$().each 迭代數組]
[$().each 迭代map]
[$.each() 迭代map]
[$.each() 迭代數組]
[for 循環數組]
[for循環map]
=============================================================分割3:map和json轉化===========================================================
而將map轉化為標准json字符串,再轉化為JSON對象就是可以的。