目录
前言:
ajax可以实现局部发送请求,增加用户的体验。之前通过ajax发送post请求或者get请求都是传统的传递参数。
get请求:
$.get("/front/admin.do?m=checkLoginUsername&username=" + $(this).val(), function (data) {
if (data == "null") {
$("#usernameMsg").text("用户名不能为空").css("color", "red");
} else if (data == "exists") {
$("#usernameMsg").text("√").css("color", "green");
} else {
$("#usernameMsg").text("用户名不存在").css("color", "red");
}
})
post请求:
$.post("/front/shopCart.do"),{
"m":"changeNum",
"num":$(".num-val").val(),
"productId":$("[name=productId]:hidden").val()
},function (data){
console.log(data)
}
这样写,显得太过臃肿,服务器读取参数也会显得麻烦。接下来我来教大家JSON形式传递参数。
前台代码:
//通过ajax的post+json的提交方式提交出去
let record = {"questionSetId":${questionSet.id}, "point": sum}
$.post("record?m=add", {"record": JSON.stringify(record)},
function (data) {
if (data == "true") {
console.log("提交完成");
}
alert("考试结束!得分:"+sum);
location.href="questionSet?m=select"
})
1.将需要传递的参数单独提取出来,按照 let 变量名={"参数名":参数值,"参数名":参数值}的形式
2.$.post("跳转的地址",{"参数名":JSON.stringify(变量名)},function(data){
})
后台代码:
String record = req.getParameter("record");
//解析json
TExamRecord tExamRecord = JSON.parseObject(record, TExamRecord.class);
TExamRecord tExamRecord = JSON.parseObject(record, TExamRecord.class);
解析JSON形式的参数,并将参数赋值给对象
这样就不用一直req.getparmmer了