问题描述:在公司项目中遇到一个问题,传一个数组到后台,一开始直接获取一个
var paramIds=[];//缴费与选课id的数组格式 “缴费id,选课id”
var studentRollId=$("#studentRoll_id").val();
$(".checkbox:checked").each(function(){
var arr=$(this).val().split(",");
paramIds.push({"finandOrderId":arr[0],"chooseCourseId":arr[1]});
});
if(paramIds.lenght < 1){
showInfoModal("??????!");
return false;
}
$.ajax({
url:"......",
type:"post",
data:{"paramIds":paramIds},
dataType:"json",
success:function(data) {
......
}
});
发现后台怎么也获取不到参数,加上@requestParam (value="")也不行
后来换了两张解决办法
一:
var paramIds=[];
var aaIds=$("#aaId").val();
$(".checkbox:checked").each(function(){
var arr=$(this).val().split(",");
paramIds.push({"finandOrderId":arr[0],"chooseCourseId":arr[1]});
});
if(paramIds.lenght < 1){
showInfoModal("。。。。。!");
return false;
}
var params= {};//定义一个对象,将传入的参数无论是数组还是其他参数均可
params.aaIds=aaIds;//将数组放入对象中
params.bbiD=bbId;//加入参数
var paramJson=JSON.stringify(params)
$.ajax({
url:"......",
type:"post",
data:paramJson,
dataType:"json",
contentType: "application/json",
success:function(data) {
if(data.status=="success") {
..........
} else{
showSuccessOrErrorModal(data.msg,"error");
}
},
error:function(e) {
showSuccessOrErrorModal("请求出错了","error");
}
});
Controller中需要加入上@@RequestBody Map<String,Object> paramMap参数
传入后台的数据如下所示:
{paramIds=[{finandOrderId=1r6y0s537da7ge4c345fc69e14574315, chooseCourseId=12bc54g6s8e7483c8d3fc69e14574sw5}, {finandOrderId=deb69bf3fde7a4fcf8efc69e1w9k4a15, chooseCourseId=23ey9b2jf9e7483c8d3fc69e14574bd5}], aaids=deb69bf3fde7483c8d3fc69e14574315}
第二种
var paramIds=[];
var aaIds=$("#aaId").val();
$(".checkbox:checked").each(function(){
var arr=$(this).val().split(",");
paramIds.push({"finandOrderId":arr[0],"chooseCourseId":arr[1]});
});
if(paramIds.lenght < 1){
showInfoModal("。。。。。!");
return false;
}
var params=JSON.stringify({"paramIds":paramIds})
$.ajax({
url:".......",
traditional: true,//防止深度序列化 http://folyred.iteye.com/blog/1554825 相关解释
type:"post",
data:{"paramIds":paramIds,"aaId":aaId},
dataType:"json",
success:function(data) {
if(data.status=="success") {
..........
} else{
showSuccessOrErrorModal(data.msg,"error");
}
},
error:function(e) {
showSuccessOrErrorModal("请求出错了","error");
}
});