溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

springMVC接受ajax提交表單,json數(shù)據(jù)的兩種方式

發(fā)布時(shí)間:2020-08-03 12:52:21 來(lái)源:網(wǎng)絡(luò) 閱讀:1625 作者:cto小鑫鑫 欄目:開發(fā)技術(shù)

作為一個(gè)初入互聯(lián)網(wǎng)行業(yè)的小鑫鑫,在使用springMVC時(shí)發(fā)現(xiàn)一個(gè)好耍的東西,決定記下來(lái),免得哪天忘了,哈哈

第一種

序列化表單,將表單數(shù)據(jù)序列化為json對(duì)象字符串

	$("#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();
			}
		});
	});

對(duì)應(yīng)的springMVC要這樣接手?jǐn)?shù)據(jù)就可以了

@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";
	}

第二種

構(gòu)建json對(duì)象

                        var zdgzs=[];
   			//獲取頁(yè)面所有的數(shù)據(jù),組裝json對(duì)象
  			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);
   			}

再次一個(gè)zdgz對(duì)象的數(shù)據(jù)就構(gòu)建好了

ajax傳用JSON.stringify(zdgzs)轉(zhuǎn)換下數(shù)據(jù),設(shè)置傳入后臺(tái)的數(shù)據(jù)類型為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";
			}

后臺(tái)接收方式,使用springMVC中的@requsetBody 注解來(lái)控制參數(shù)類型,強(qiáng)大的springMVC就能把前臺(tái)的json數(shù)據(jù)自動(dòng)裝配成對(duì)應(yīng)對(duì)象的List數(shù)組了(需要加springMVC中帶的json包)

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

ok,這個(gè)寫完了,以后自己沒事可以看看

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI