ajax传值 实体类_表单用serialize()序列化并且通过ajax向后台传值,后台方法参数传递问题...

本文介绍了如何使用Ajax的serialize()方法序列化表单,并通过POST方式发送到后台。当表单元素有选中数据时,数据会被传递;否则,不包含未选中的数据。Ajax请求成功后会显示提示信息。在后台,创建一个与表单字段匹配的实体类,Controller方法接收参数时直接指定该实体类,系统会自动进行封装。
摘要由CSDN通过智能技术生成

首先是页面

此页面时一个表单

只要是选中的数据,就往后台传,没选中但是有数据,则不传递。此页面的代码如下

策略名称
策略编号

免费时长:

分钟

超过

分钟后计算全部费用

不到30分钟不收费,超过30分钟只收超时费用。
免费时段:

--

计费循环单位:
白天时段:

--

计费方式:

白天:

夜间:

按时段:

--

按时长:

-

小时

元/

分钟

大于

小时

元/

分钟

过夜费:

开始,夜间时段停车超过

分钟

需增加

元过夜费

收费限额:

表单要进行序列化,必须添加给需要的标签添加name属性,否则无用

js文件中的写法如下:

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);

}

经过测试,可以实现如下功能:       如果form表单中元素有我们需要的数据,如果被选中则提交,不被选中则不提交,前台传递到后台的参数,会自动封装到对应的实体类中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值