用ajax向后台传参的几种方式

用ajax传参的几种方式

写了个小项目,中间用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(){
            } 

        });

传递多个对象的方法

 var list=[];
           for(var i=0;i<'${fn:length(addScore)}';i++){
              var student=new Object();
              //student.sno=$(".sno").eq(i).text();
              //student.sname=$(".sname").eq(i).text();
              student.sud=$(".sud").eq(i).text();
              student.score=$(".score").val();
              student.eid=$(".eid").val();
              student.sid=$(".sid").val();
              student.cid=$(".cid").val();
              list[i]=student;
          }  
            console.log(JSON.stringify(list));  
              $.ajax({
                 url : "${basePath}/addScore.html",  
                    data : {'students':JSON.stringify(list)},  
                    type:"post",
                    dataType : "text",  
                    success : function(data) {  
                      if(data>'0'){
                          alert("录取成绩成功");

                      }else{
                          alert("成绩添加失败");
                      }
                    }  

             });  

后台使用jackson 接受的 jsonobject也可以

List<AddStudentScore> list=null;
ObjectMapper om=new ObjectMapper();
        System.out.println(students);

            try {
                list=om.readValue(students, new TypeReference<List<AddStudentScore>>() {});
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值