温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

springMVC接受ajax提交表单,json数据的两种方式

发布时间:2020-08-03 12:52:21 来源:网络 阅读:1629 作者:cto小鑫鑫 栏目:开发技术

作为一个初入互联网行业的小鑫鑫,在使用springMVC时发现一个好耍的东西,决定记下来,免得哪天忘了,哈哈

第一种

序列化表单,将表单数据序列化为json对象字符串

	$("#submit").click(function (){
		var form=$("form").serializeArray();
		$.ajax({
			url:"${pageContext.request.contextPath}/teacher/updateTeacher",
			data:form,
			type:"POST",
			dataType : "json",
			error : function(data) {
				alert("修改成功");
				location.reload();
			}
		});
	});

对应的springMVC要这样接手数据就可以了

@RequestMapping(value="updateTeacher")
	@ResponseBody
	public String updateTeacher(Teacher teacher,Model model){
		teacherService.updateByPrimaryKeySelective(teacher);
		Teacher longinTeacher = teacherService.loginExp(teacher);
		model.addAttribute("loginteacher", longinTeacher);
		return "success";
	}

第二种

构建json对象

                        var zdgzs=[];
   			//获取页面所有的数据,组装json对象
  			for(var i=0;i<qtcsId.length;i++){
  				var zdgz={
   			"zdgzNd" :zdgzNd,
   			"rwlyValue" :rwlyValue,
   			"rwlyName" :rwlyName,
   			"lwwh" :lwwh,
   			"lwbt" :lwbt,
   			"qtcsId" :qtcsId.eq(i).val(),
  			"qtcsName" :qtcsName.eq(i).html(),
   			"phcsId" :[phcsId.eq(i).val()],
   			"phcsName" :[phcsName.eq(i).html()],
   			"rwnr" :rwnr.eq(i).val()
   			}; 
   			zdgzs.push(zdgz);
   			}

再次一个zdgz对象的数据就构建好了

ajax传用JSON.stringify(zdgzs)转换下数据,设置传入后台的数据类型为json

$.ajax({
			type: "POST",
			url: "${pageContext.request.contextPath}/zdgz/addzdgz.do",
			contentType: "application/json; charset=utf-8",
			data:JSON.stringify(zdgzs),
			dataType: "json",
			success: function (message) {
			if (message > 0) {
			alert("添加成功");
			window.location.href="${pageContext.request.contextPath}/zdgz1/selectzdgz.do/s/0";
			}

后台接收方式,使用springMVC中的@requsetBody 注解来控制参数类型,强大的springMVC就能把前台的json数据自动装配成对应对象的List数组了(需要加springMVC中带的json包)

	@RequestMapping(value="/addzdgz.do",method = RequestMethod.POST)
	public @ResponseBody int addzdgz(@RequestBody List<Zdgz> zdgzs){
		for(Zdgz zdgz:zdgzs){
			if ("请选择".equals(zdgz.getRwlyName()) || "请选择".equals(zdgz.getQtcsName())
					|| "请选择".equals(zdgz.getPhcsName()) || "".equals(zdgz.getRwnr()) || null == zdgz.getRwnr()) {
				return 0;
			}
			
			zdgz.setDtmdjsj(new Date());	
			zdgzService.addZdgz(zdgz);
		}
		return 1;
	}

ok,这个写完了,以后自己没事可以看看

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI