購物車終於算是前后端跑通了,總結一下。
前端: ajax異步提交。
$.get("GoodsActionForUser?flag=getGoodsesByIds",JSON.parse(params),function(r){ alert(r); });
三個參數分別為url,json,callback...開始寫成了$.getJSON(),這個函數就是已經給你json.parse()了,所以導致后邊alert出現object Object
后端:servlet處理。
1 if("getGoodsesByIds".equals(flag)){ //獲取商品列表 2 response.setCharacterEncoding("UTF-8"); 3 //response.setContentType("application/json"); 4 5 //goodsIds = request.getParameter(goodsIds); 6 System.out.println("getGoodsesByIds "+goodsIds); //用servlet的doGet接收。 7 String[] ids=goodsIds.split(","); 8 goodses = goodsService.getGoodsesByIds(ids); 9 for(Goods goods:goodses){ 10 System.out.println(goods.getGname()); 11 } 12 JsonConfig c = new JsonConfig(); 13 c.setExcludes(new String[] {"category","goodsNo","cid","price1","stock","description" }); 14 JSONArray a = JSONArray.fromObject(goodses,c); 15 //result = a.toString(); 16 result = a.toString(); 17 System.out.println(result); 18 PrintWriter out = response.getWriter(); 19 out.print(result);//print 可以以二進制形式輸出對象,write輸出數據,數組 20 out.flush(); 21 out.close(); //這一塊紅色代碼來實現向前端傳數據! 22 }
在處理json時需要用到一些相關的jar包,這個百度一下就可以。