表单用serialize()序列化并且通过ajax向后台传值,后台方法参数传递问题
来源:互联网 发布:个人数据融合模型 编辑:程序博客网 时间:2024/06/08 08:16
首先是页面
此页面时一个表单
只要是选中的数据,就往后台传,没选中但是有数据,则不传递。此页面的代码如下
- <form id="polForm" method="post">
- <table class="width01" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td colspan="2"><span class="fweight01 fsize01">策略名称</span></td>
- <td><input name="jifei" type="text" class="width02 height01" value="计费策略1" /></td>
- </tr>
- <tr>
- <td colspan="2"><span class="fweight01 fsize01">策略编号</span></td>
- <td><input type="text" class="width02 height01" name="bianhao"/></td>
- </tr>
- <tr>
- <td>
- <a onclick="changeBox01()"><input id="box01" class="marginl01" type="checkbox" /></a>
- </td>
- <td class="tl"><span class="span01 span02">免费时长:</span></td>
- <td class="tl">
- <span style="float:left;">
- <input id="fee01" name="fee01" class="width03 easyui-textbox" /><span class="span03">分钟</span>
- <input id="fee02" name="fee02"class="width03 marginl01 easyui-combobox" value="超时计费" />
- </span>
- <span id="dis01" class="span02">
- <a onclick="changeHtml()"><input id="box02" type="checkbox" /></a><span class="span03 span04">超过</span>
- <input id="fee03" name="fee03" class="width07 easyui-textbox" value="60" /><span class="span03">分钟后计算全部费用</span>
- </span>
- </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td class="tl"><span id="dis02" class="color01">不到30分钟不收费,超过30分钟只收超时费用。</span></td>
- </tr>
- <tr>
- <td><a onclick="disAppear()"><input id="box03" class="marginl01" type="checkbox" /></a></td>
- <td class="tl"><span class="span01 span02">免费时段:</span></td>
- <td class="tl">
- <span style="float:left;">
- <input id="fee04" name="fee04" class="width07 easyui-timespinner" data-options="showSeconds:false" /><span class="span03 span04">--</span>
- <input id="fee05" name="fee05" class="width07 easyui-timespinner" data-options="showSeconds:false" />
- </span>
- <span id="dis03" style="display:none;">
- <a class="marginl02" id="btn1"><img src="../common/images/greenpolicy.png" /></a>
- <input id="fee06" class="width05 easyui-combobox" value="期间驶入驶出免费" />
- </span>
- </td>
- </tr>
- <tr>
- <td><a onclick="changeBox04()"><input id="box04" class="marginl01" type="checkbox" /></a></td>
- <td class="tl"><span class="span01 span02">计费循环单位:</span></td>
- <td class="tl">
- <input id="fee07" class="width06 easyui-combobox" value="停放总时长24小时为一天" />
- </td>
- </tr>
- <tr>
- <td><a onclick="changeBox05()"><input id="box05" class="marginl01" type="checkbox" /></a></td>
- <td class="tl"><span class="span01 span02">白天时段:</span></td>
- <td class="tl">
- <input id="fee08" class="width07 easyui-timespinner" data-options="showSeconds:false" value="06:00" /><span class="span03 span04">--</span>
- <input id="fee09" class="width07 easyui-timespinner" data-options="showSeconds:false" value="18:00" />
- </td>
- </tr>
- <tr>
- <td><a onclick="changeBox06()"><input id="box06" class="marginl01" type="checkbox" /></a></td>
- <td class="tl"><span class="span01 span02">计费方式:</span></td>
- <td class="tl">
- <span style="float:left;"><input id="fee10" class="width03 easyui-combobox" value="全天" /></span>
- <span id="dis04" class="marginl01"><input id="fee11" class="width03 easyui-combobox" value="按时段计费" /></span>
- <span id="dis05" class="marginl01" style="display:none">
- <span>白天:</span><input id="fee12" class="width03 easyui-combobox" value="按时段计费" />
- <span>夜间:</span><input id="fee13" class="width03 easyui-combobox" value="按时段计费" />
- </span>
- </td>
- </tr>
- <tr>
- <td><a onclick="timeType()"><input id="box07" class="marginl01" type="checkbox" /></a></td>
- <td class="tl"><span class="span01 span02">按时段:</span></td>
- <td class="tl">
- <input id="fee14" class="width07 easyui-timespinner" data-options="showSeconds:false" value="06:00" /><span class="span03 span04">--</span>
- <input id="fee15" class="width07 easyui-timespinner" data-options="showSeconds:false" value="18:00" />
- <input id="fee16" class="width08 easyui-combobox marginl01" value="固定收费" />
- <span class="span03 span04">共</span><input id="fee17" class="width07 easyui-textbox" /><span class="span03 span04">元</span>
- <a href="#" class="marginl02" id="btn2" style="display:none;"><img src="../common/images/greenpolicy.png" /></a>
- </td>
- </tr>
- <tr>
- <td><a onclick="timeSize()"><input id="box08" class="marginl01" type="checkbox" /></a></td>
- <td class="tl"><span class="span01 span02">按时长:</span></td>
- <td class="tl" id="fee22">
- <input class="width09 easyui-textbox" value="1" /><span class="span03 span04">-</span>
- <input class="width09 easyui-textbox" value="5" /><span class="span03">小时</span>
- <span class="span02">按</span>
- <input class="width09 easyui-textbox" value="5" /><span class="span03 span04">元/</span>
- <input class="width09 easyui-textbox" value="5" />
- <span class="span03 span04">分钟</span>
- <a href="#" class="marginl02" id="btn3" style="display:none;"><img src="../common/images/greenpolicy.png" /></a>
- </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td class="tl" id="fee18">
- <span class="span04">大于</span>
- <input class="width10 easyui-textbox" value="5" /><span class="span03">小时</span>
- <span class="span02">按</span>
- <input class="width09 easyui-textbox" value="5" /><span class="span03 span04">元/</span>
- <input class="width09 easyui-textbox" value="5" />
- <span class="span03 span04">分钟</span>
- </td>
- </tr>
- <tr>
- <td><a onclick="changeBox09()"><input id="box09" class="marginl01" type="checkbox" /></a></td>
- <td class="tl"><span class="span01 span02">过夜费:</span></td>
- <td class="tl" id="fee19">
- <input class="width07 easyui-timespinner" value="22:00" /><span class="span03 span04">开始,夜间时段停车超过</span>
- <input class="width09 easyui-textbox" value="5" /><span class="span03 span04">分钟</span>
- <span class="span03 span04">需增加</span>
- <input class="width09 easyui-textbox" value="5" /><span class="span03">元过夜费</span>
- </td>
- </tr>
- <tr>
- <td><a onclick="changeBox10()"><input id="box10" class="marginl01" type="checkbox" /></a></td>
- <td class="tl"><span class="span01 span02">收费限额:</span></td>
- <td class="tl" id="fee20">
- <input class="width08 easyui-combobox" value="每天相同的限额" />
- <input class="width07 easyui-textbox" value="20" /><span class="span03">元</span>
- </td>
- </tr>
- </table>
- </form>
js文件中的写法如下:
- <span style="white-space:pre"> </span>var arr = $('#polForm').serialize();
- $.param(arr);
- console.log("表单序列化=============="+arr);
- $.ajax({
- url:"/epark/testt.do",
- data:arr,
- type:"post",
- dataType:"json",
- success:function(data){
- alert("测试发送接收成功");
- },
- error:function(){
- console.log("失败");
- }
- })
注意,ajax方法中data传递的是arr,那么问题来了,后台的方法接受时,参数是怎么传递的?
首先,创建一个实体类,要求类的属性和表单中name对应,如下图
然后就是Controller方法了,如下所示,直接把前台传过来的参数写成对应的实体类,会自动进行封装
- @RequestMapping("/testt")
- @ResponseBody
- public void login(Book arr){
- System.out.println(arr.toString);
- }
阅读全文
0 0
- 表单用serialize()序列化并且通过ajax向后台传值,后台方法参数传递问题
- 表单用serialize()序列化并且通过ajax向后台传值,后台方法参数传递问题
- 【AJAX】使用serialize()方法序列化表单元素值
- 有关ajax表单序列化serialize()的问题
- jQuery的serialize()方法通过序列化表单值
- python flask 通过ajax向后台传递数组参数
- jQuery Ajax传递整个表单的数据方法:.serialize()
- ajax传递数据时的表单系列化方法.serialize()
- select表单序列化serialize()出现问题
- form表单序列化 $('#form1').serialize()到后台没值
- jQuery ajax中form.serialize() 方法-输出序列化表单值
- jQuery.ajax $.post $.load 序列化表单(ajax提交表单,post传递参数,序列化表单)
- jquery ajax 向后台传递数组参数
- ajax向后台传递参数的方式
- ajax向后台传递数组参数
- ajax向后台传递“复合json”参数
- jQuery之异步Ajax请求使用 通过传递参数来调用后台方法返回状态
- 序列化表单,ajax 传值后台
- linux下安装jdk
- Hibernate事务的开启问题
- 初级程序猿的代码练习经历
- (个人)AR电子书创新系统实训第五周(2)
- centos7 配置 lnmp
- 表单用serialize()序列化并且通过ajax向后台传值,后台方法参数传递问题
- 设计模式—状态模式(十二)
- 设计模式--------工厂模式
- Java开发中各种流程控制讲解
- 如何:更改功能区上选项卡的位置,内置选项卡的前面或后面
- Jackson异常情况处理
- 两数组的交
- js栈内存和堆内存的区别
- 算法导论--线性时间排序