springMVC中使用ajax向后台传递数组
2016-07-29 10:00
417 查看
function addToOrder(){ var checkBoxes = document.getElementsByName("bookId"); var buyNums = document.getElementsByName("buyNum"); var bookId = new Array(); var buyNum = new Array(); var flag = false; var j = 0; for(var i=0;i<checkBoxes.length;i++){ if(checkBoxes[i].checked){ flag = true; bookId[j] = checkBoxes[i].value; buyNum[j] = buyNums[i].value; j++; } } if(!flag){ alert("请至少选择一个商品购买!"); return; } $.ajax({ url : 'addOrder.action',// 跳转到 action data : { "bookId" : bookId, "buyNum" : buyNum, "pName" : $("#pName").val(), "address" : $("#address").val(), }, traditional:true, type : "post", cache : false, dataType : "json", success : function(data) { if (data.flag == "true") { window.location.href="shopping_success.jsp"; } else { alert(data.info); } }, error : function() { // view("异常!"); alert("异常!"); } }); }
public @ResponseBody Map<String,Object> addOrder(HttpServletRequest request,long[] bookId,long[] buyNum,String pName,String address){ User user = (User) request.getSession().getAttribute("user"); Map<String,Object> map = new HashMap<String, Object>(); if(orderService.addOrder(bookId, buyNum, pName, address, user)){ map.put("flag", "true"); map.put("info", "购买成功!"); } else{ map.put("flag", "false"); map.put("info", "库存不足,请修改购买数量!"); } return map; }
controller中采用自动获取参数的形式,这个属性是关键,traditional:true。
如果没有就无法传递数组参数
相关文章推荐
- springMVC中使用ajax传递json数组
- 【ajax传递数组】从js到控制器后台,到mybatis,教你如何传递数组,项目中直接截图,springMVC结构
- 关于jquery使用ajax传递数组到struts后台的接受问题
- springMVC通过ajax传递参数list对象或传递数组对象到后台
- 使用ajax传递数组和后台接收
- SpringMVC前台传递数组,后台使用list接收
- SpringMVC ajax传递json数组到后台报406错误的解决办法
- jQuery中使用ajax向后台传递数据
- ajax传递给后台数组参数方式
- springMVC和easyUI结合使用(前后台通过json传递数据)的实例
- ajax如何向后台传递数组,在后台该如何接收的问题(项目积累)
- 给ajax留一个模板,通过后台传递json获取数据,并用table显示,方便以后使用
- 如何在前台脚本通过json传递数据到后台(使用微软自带的ajax)
- jQuery.ajax向后台传递数组问题
- jquery使用ajax传递数组给struts2
- ajax传递给后台数组参数方式
- ajax 向后台如何传递数组参数
- 使用AJAX传递中文参数,在后台接受出现乱码问题
- ajax传递给后台数组参数方式
- 如何在前台脚本通过json传递数据到后台(使用微软自带的ajax)