`

ajax请求提交list<object>参数

阅读更多


js code

$("#saveFamilySituationBtn").click(function(){
		var isSuccess = false;

		//创建guardian数组
		var guardianList = [];
		//遍历guardian div,找出非完全的guardian div
		$("div[name='guardian']").each(function(index){
			//设立非空guardian div flag
			var flag = false;
			$(this).find("input").each(function(){
				if($(this).attr("type") == "checkbox"){
					if($(this).attr("checked")){
						flag = true;
						return false;
					}
				}else{
					if($(this).val().trim() != ""){
						flag = true;
						return false;
					}
				}
			});

			if(flag){
				//创建guardian对象
				var guardian = {};
				index += 1;
				
				guardian.name = $("#guardianName"+index).val().trim();
				guardian.relationship = $("#guardianRelationship"+index).val().trim();
				if($("#liveWith"+index).attr("checked")){
					guardian.liveWith = true;
				}else{
					guardian.liveWith = false;
				}

				guardian.id = $("#guardianId"+index).val().trim();
				guardian.address = $("#address"+index).val().trim();
				guardian.apartment = $("#apartment"+index).val().trim();
				guardian.postalCode = $("#postCode"+index).val().trim();
				guardian.homePhone = $("#homePhone"+index).val().trim();
				guardian.mobilePhone = $("#mobilePhone"+index).val().trim();
				guardian.workPhone = $("#workPhone"+index).val().trim();
				guardian.email = $("#email"+index).val().trim();
				if(guardian.name == null || guardian.name==""){
					common.showMessage("Please type guardian name first!");
					return false;
				}
				if(guardian.mobilePhone == null || guardian.mobilePhone==""){
					common.showMessage("Please type mobile phone first!");
					return false;
				}
				guardianList.push(guardian);
			}
		});
		//若guardian 数组有值,则提交ajax请求
		if(guardianList.length != 0){
			$.ajax({ 
		        type: "post",
		        dataType: "json", 
		        traditional:true,
		        async : false,
		        data: JSON.stringify(guardianList),
		        url: "${maintainGuardianURL}"+$("#id").val(),
		        headers : {
		            'Accept' : 'application/json',
		            'Content-Type' : 'application/json'
		        },
		        success: function (data, textStatus) {
		            if (!data.result) {
		            	isSuccess = false;
		            }else{
		            	isSuccess = true;
			        }
		        },
		        error: function (e) {
		        	isSuccess = false;
		        }
		    });
		}
		
		var siblingList = [];
		$("div[name='sibling']").each(function(index){
			var flag = false;
			$(this).find("input").each(function(){
				if($(this).attr("type") != "checkbox"){
					if($(this).val().trim() != ""){
						flag = true;
						return false;
					}
				}
			});

			if(flag){
				var sibling = {};
				index += 1;

				sibling.kidId = $("#kidId"+index).val().trim();
				sibling.kidName = $("#siblingName"+index).val().trim();
				sibling.relationship = $("#relationship"+index).val().trim();
				if($("#enrolled"+index).attr("checked")){
					sibling.enrolled = true;
				}else{
					sibling.enrolled = false;
				}

				siblingList.push(sibling);
			}
		});

		if(siblingList.length != 0){
			$.ajax({ 
		        type: "post",
		        dataType: "json", 
		        traditional:true,
		        async : false,
		        data: JSON.stringify(siblingList),
		        url: "${maintainSiblingURL}"+$("#id").val(),
		        headers : {
		            'Accept' : 'application/json',
		            'Content-Type' : 'application/json'
		        },
		        success: function (data, textStatus) {
		            if (!data.result) {
		            	isSuccess = false;
		            }else{
		            	isSuccess = true;
			        }
		        },
		        error: function (e) {
		        	isSuccess = false;
		        }
		    });
		}

		if(isSuccess){
			common.showMessage("save success!");
		}else{
			common.showMessage("save failed, please try again!");
		}
	});


server code
1.list
@RequestMapping(value = "/familySituation/guardian/maintain/{kidId}", produces = "application/json;charset=UTF-8")
	@ResponseBody
	public ResultResponse maintainGuardianBatch(@PathVariable("kidId") Long kidId,
			@RequestBody List<AppGuardianVO> guardianList) {

		ResultResponse result = new ResultResponse();
		if (null != guardianList) {
			try {
				kidEditSerivce.maintainGuardianBatch(guardianList, kidId);
				result.setResult(true);

			} catch (Exception e) {
				result.setResult(false);
				result.setMessage("修改出异常,请重试!");
			}
		}

		return result;
	}


2.array
@RequestMapping(value = "/familySituation/sibling/maintain/{kidId}", produces = "application/json;charset=UTF-8")
	@ResponseBody
	public ResultResponse maintainSiblingBatch(@PathVariable("kidId") Long kidId,
			@RequestBody AppSiblingVO[] siblingArray) {

		ResultResponse result = new ResultResponse();
		List<AppSiblingVO> siblingVOList = null;
		if (null != siblingArray) {
			siblingVOList = Arrays.asList(siblingArray);
			try {
				kidEditSerivce.maintainSiblingBatch(siblingVOList, kidId);
				result.setResult(true);

			} catch (Exception e) {
				result.setResult(false);
				result.setMessage("修改出异常,请重试!");
			}
		}

		return result;
	}
  • 描述: UI IMAGE
  • 大小: 767.1 KB
分享到:
评论

相关推荐

    jquery-1.1.3 效率提高800%

    It allows you to locate individual items in a space-separated attribute (such as a class or rel attribute).&lt;br&gt;&lt;br&gt;$("a[@rel~=test]")Animation Improvements&lt;br&gt;&lt;br&gt;参数: &lt;br&gt;options &lt;br&gt;返回值: &lt;br&gt;...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    看上面的"结构树",其中&lt;myfile&gt;是父元素,&lt;title&gt;,&lt;author&gt;是它的子元素,而&lt;myfile&gt;又是&lt;filelist&gt;的子元素。象&lt;title&gt;这样没有包含任何子元素的最后一级元素我们也称之为"页元素"。 4.Parser(解析软件) Parser...

    jQuery通过Ajax向PHP服务端发送请求并返回JSON数据

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。JSON在前后台交互的过程中发挥着相当出色的作用。...&lt;ul id=userlist&gt; &lt;li&gt;&lt;a&gt;张三&lt;/a&gt;&lt;/li&gt; &lt;li

    spring_MVC源码

    30. &lt;/list&gt; 31. &lt;/property&gt; 32. &lt;/bean&gt; 33. 34. &lt;bean id="transactionManager" 35. class="org.springframework.orm.hibernate3.HibernateTransactionManager"&gt; 36. &lt;property name="sessionFactory" ref=...

    一个适合新手学习的电商项目

    return new ArrayList&lt;&gt;(); } // 把json转换成商品列表 try { List&lt;CartItem&gt; list = JsonUtils .jsonToList(cartJson, CartItem.class); return list; } catch (Exception e) { e.printStackTrace(); } ...

    JQuery+Ajax通用分页导航(任意表)

    //数据格式必须为: List&lt;Object[]&gt;(数据行) String[](列标题) 总页数int //第1步:将css和js目录放进web项目下 //第2步:将test.jsp页面的静态代码复制到你的页面上,注意: //必须提供2个table,而且第1个table...

    Bootstrap分页

    Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;(); username=(username==null)?"":username; map.put("username", username);//username必须要和ibatis配置的property=username一致 Integer ...

    Java基础知识点总结.docx

    &lt; java.util &gt;List接口 78 &lt; java.util &gt;Set接口 80 &lt; java.util &gt;Map接口 81 把map集合转成set的方法 82 使用集合的技巧 83 Collections--集合工具类 83 Arrays—数组对象工具类 84 增强for循环 85 可变参数(...)...

    jquery电子文档chm

    $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。 jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 "myurl?...

    HttpClient以及获取页面内容应用

    List&lt;NameValuePair&gt; formparams = new ArrayList&lt;NameValuePair&gt;(); formparams.add(new BasicNameValuePair("username", "admin")); formparams.add(new BasicNameValuePair("password", "123456")); ...

    SpringMVC面试专题.pdf

    1、什么是 SpringMvc? 2、Spring MVC 的优点: ...21、当一个方法向 AJAX 返回特殊对象,譬如 Object,List 等,需要做什么处理? 22、SpringMvc 里面拦截器是怎么写的 23、讲下 SpringMvc 的执行流程

    JavaScript跨域请求库XDomain.zip

    XDomain 是 JavaScript CORS 跨域请求的一个替代产品,无需任何服务器端的配置。只需要在同域下放置一个 proxy.html 文件即可。该库利用 XHook 来获取所有 XHR,可以无缝的和其他库协同工作。 Features Simple ...

    java面试宝典

    170、Javascript如何发送一个Ajax请求? 41 171、AJAX都有哪些有点和缺点? 41 172、Ajax和javascript的区别? 41 Servlet部分 42 174、JAVA SERVLET API中forward() 与redirect()的区别? 42 178、如何现实servlet...

    ZendFramework中文文档

    删除 AJAX 请求 7.4.3. 子类化请求对象 7.5. 标准路由器:Zend_Controller_Router_Rewrite 7.5.1. 简介 7.5.2. 使用路由器 7.5.3. 基本的Rewrite路由器操作 7.5.4. 缺省路由 7.5.5. 基本 URL 和子目录 ...

    JAVA上百实例源码以及开源项目

     当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。  QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...

    asp.net知识库

    按键跳转以及按Enter以不同参数提交,及其他感应事件 动态控制Page页的Head信息 SubmitOncePage:解决刷新页面造成的数据重复提交问题 SharpRewriter:javascript + xml技术利用#实现url重定向 采用XHTML和CSS设计可...

    千方百计笔试题大全

    170、Javascript如何发送一个Ajax请求? 41 171、AJAX都有哪些有点和缺点? 41 172、Ajax和javascript的区别? 41 Servlet部分 42 174、JAVA SERVLET API中forward() 与redirect()的区别? 42 178、如何现实servlet...

    jquery1.11.0手册

    ajax 请求 $.ajax(url,[settings]) load(url,[data],[callback]) $.get(url,[data],[fn],[type]) $.getJSON(url,[data],[fn]) $.getScript(url,[callback]) $.post(url,[data],[fn],[type]) ajax 事件 ...

    Java面试宝典2020修订版V1.0.1.doc

    25、JAVA中Object类中有哪些常用方法? 19 26、heap和stack有什么区别。 19 27、GC是什么? 为什么要有GC? 20 28、什么是内部类?分为哪几种? 20 29、为什么需要内部类? 20 30、内部类可以引用它的包含类的成员吗?...

Global site tag (gtag.js) - Google Analytics