前端用ajax发送json数据到后台,并接收后台传回的json数据【包含ajax提交表单】 清疚 2022-02-01 23:07 719阅读 0赞 #### 一、前后端发送与接收json数据 #### ###### 前端代码 ###### function pay(data) { //将数据按json格式存放 var info = {"orderId":data}; $.ajax({ url: "/testOrder", data: JSON.stringify(info),//将数据转化为json格式 dataType: 'json',//接收后台数据的格式 type: "POST", contentType: "application/json;charset=utf-8",//发送给后台数据的格式 //发送成功后执行,response中存的是从后台返回的json数据,名字可以随意改 success: function(response) { if(response.code == 1) { alert(response.msg); } else { document.getElementById('orderId').value = data; document.getElementById('orderId_form').submit(); } } }) } ###### 后台代码 ###### @RequestMapping(value = "/testOrder") @ResponseBody //设置返回值为string public String testOrder(@RequestBody JSONObject json) { //使用@RequestBody注解,将前台传送过来的数据存到json中 if(hostHolder.getMember() == null) { return "redirect:/login"; } if(orderServiceImpl.getOrder(json.getString("orderId")) == null) { return JSONStringUtil.getJSONString(1, "无效订单");//返回json格式的数据,JSONStringUtil是我自己定义的json工具类 } else { return JSONStringUtil.getJSONString(0, "有效订单"); } } SONStringUtil.getJSONString()方法的代码 public static String getJSONString(int code, String msg) { JSONObject json = new JSONObject(); json.put("code", code); json.put("msg", msg); return json.toJSONString(); } #### 二、用ajax提交form表单 #### ###### 前端代码 ###### myform是表单id 使用.serialize() 方法创建以标准 URL 编码表示的文本字符串。它的操作对象是代表表单元素集合的 jQuery 对象。 $.ajax({ url: "/saveGoodsInfor?id=<%=goods.getID()%>", type: 'post', data: $("#myform").serialize(), dataType: 'json', success: function (res) { if(res.code == 0) { alert(res.msg); window.location.href="/manageGoods"; } else { alert(res.msg); } } }) ###### 后台代码 ###### 定义实体类Goods接收表单中的内容,如要注意的时,表单中各项的name属性需与实体类中变量名相同 @RequestMapping(value = "/saveGoodsInfor") @ResponseBody public String alterGoodsInfor(@RequestParam("id") int id, Goods goods) { if(hostHolder.getMember() == null || hostHolder.getMember().getType() != 1) { return "redirect:/login"; } goods.setID(id); if(goods.getNowPrice().equals(new BigDecimal("-1"))) { goods.setSale(0); } if(goodsServiceImpl.setInfo(goods) == 0) { return JSONStringUtil.getJSONString(1, "修改商品信息失败,请重新修改!!"); } else { return JSONStringUtil.getJSONString(0, "修改商品信息成功"); } }
还没有评论,来说两句吧...