后台將一個list中的對象循環放到map中,如下:
@RequestMapping("/getSaleOrderDetailList") @ResponseBody public Map<String,Object> getSaleOrderDetailList(Model model,HttpServletRequest request,HttpServletResponse response) { ... ...
//新增時,復制訂單 if(StringUtils.isNotBlank(copyId)){ SaleOrder copyOrder = saleOrderService.getById(copyId); if(copyOrder!=null){ List<SaleOrderDetail> copyList = saleOrderDetailService.getBySodNbr(copyOrder.getSoNbr()); resultMap.put("listCount", copyList.size());
//這里循環將對象放到copyList+i中 for(int i=0;i<copyList.size();i++){ resultMap.put("copyList" + i,copyList.get(i)); } } } return resultMap; }
前台中獲取對象,注意必須使用中括號將變量i和常量'copyList'放一起括括起來。
onLoadSuccess:function(data){ //加載完成后,判斷是否是新建訂單復制訂單 var num = data.listCount; if(num > 0){ for(var i=0;i<num;i++){ alert(data['copyList'+i]); //這種正確:必須使用中括號來獲取 // alert(data.copyList+i); 這種寫法是錯誤的,永遠獲取不到對象 copyOrder(data['copyList'+i]); } } },