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