后台將一個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]); } } },
