写了个小项目,中间用ajax传参浪费了很多时间。总结一些传参的方法分享给大家。
第一种方法 以下所有方法中本人用的JavaScript中data属性 ,你也可以直接获取value值 都可以贴个例子
<td style="display:none;" data-c="${exam.sid }">${exam.sid }</td>//取值的时候这么写就可以了 注意括号中的值必须和-后的值一致 var sid=$(this).data("c"); url:"", type:"get", data:{"id":id}, success:function(data){ }
第二种方法 //取值的方法同上 url:"${basePath}/editPassword.html?no="+no
赋值方法如下
<a class="addTest" href="javascript:void(0)" data-a="${exam.id }" data-b="${exam.cid }" data-c="${exam.sid }"><button class="layui-btn layui-btn-warm">录入成绩</button></a>取值方法如下 var id=$(this).data("a");--- var cid=$(this).data("b"); var sid=$(this).data("c");
传参方法 url:"/scoreAdd.html?cid="+cid+"&id="+id+"&sid="+sid 还有一种序列化方法 直接序列化成对象传递参数 body代码如图所示(注意name的值必须和对象的属性一样) form id=”f” action=”” method=”post”>
<input type="text" name="no" value="${sm.no }" /> <input type="hidden" name="cid" value="${sm.cid}"/> $.ajax({ url:"${basePath}/studentEdit.html", type:"post", dataType:"text", data:$("#f").serialize(), success:function(){ } });后台使用jackson 接受的 jsonobject也可以
List<AddStudentScore> list=null; ObjectMapper om=new ObjectMapper(); System.out.println(students); try { list=om.readValue(students, new TypeReference<List<AddStudentScore>>() {});