前端用ajax发送json数据到后台,并接收后台传回的json数据【包含ajax提交表单】
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
一、前后端发送与接收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, "修改商品信息成功");
}
}
GitHub 加速计划 / js / json
18
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:2 个月前 )
6be4e856
4 天前
663058e7
6 天前
更多推荐
已为社区贡献3条内容
所有评论(0)