ajax+springmvc实现前端表单传值并赋给后端实体类对象

ajax+springmvc实现前端表单传值并赋给后端实体类对象


最近做的项目要求要把页面上的表单数据传递到后端,并用一个实体类对象接收相应的属性值。开始时我没有用ajax,直接将表单传回去,发现会一直报错HTTP 415 unsupported media type。然后在网上查别的博主的博客发现大部分都是修改ajax里面的一些参数,后来也就上了ajax。期间走了不少弯路,现在讲自己的实现过程分享给大家。第一次写博客,有什么不当的地方还请各位朋友积极批评和指正,共同进步!

前端页面

这里主要列出需要传递的表单的标签信息和ajax的配置写法

表单

<form id="form1" method="post" name="form1">
...
	<!--提交按钮-->
	<button class="btn btn-primary btn-sm" type="submit" id = "submit" onclick="send();" >

ajax

function send(){
			$.ajax({
				type:"POST",
				/*dataType:"json",*/
				async:true,
				/* contentType: 'application/json; charset=UTF-8', */
				url:"这里写你的请求页面,也就是你需要跳转到控制器的执行函数名称,我这里的话写的是相对路径addmaterail",
				data:$("#form1").serialize(),
				success:function(){
					<!--自行设计-->
				},
				error:function(){
					<!--自行设计-->
				}
			
			})
		}

控制器

...
@ResponseBody
	@RequestMapping("/addmaterial")
	public String addmaterial(ProductParameter product) {
		System.out.println(product.toString());//打印出实体类的属性值
	}

注意我这里没有向后面拓展资料的一些博客那样在ProductParameter product 前面加上@RequestBody,因为前端ajax那里已经将content-type注释掉了,也没有写datatype。此时的请求头和响应头是这个样子的:
在这里插入图片描述
表单的数据格式是默认设置application/x-www-form-urlencoded;charset=UTF-8

最后的效果

控制台返回的信息,可以看出实体类对象已经成功拿到前端传值
在这里插入图片描述

拓展资料

关于ajax的具体写法尤其是URL的写法请移步至如下博客:

SpringMVC和Ajax【数据交互示例】总结.
jQuery实现ajax提交form表单(可以是提交json),用springmvc接收。图文详解.
Ajax请求中url三种写法方式(Ajax请求路径问题,$.ajax中url携带当前页面路径原因).

HTTP报错415、400:
使用SpringMVC前台发送数据时得到400或415错误!.
@RequestBody出现请求415问题.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值