求大神指教$.post{}传值的问题 如果要传的是一个对象的集合 这个集合需要怎么处理

baidu_18143629 2014-08-01 10:00:40
$.post {
}
传值时 如果传的是一个对象的集合 这个集合需要怎么处理了
var bss = new Array();
{"bss":bss}
这个bss怎么处理呢
表单提交时有复选框 每一行勾选的需要提交的参数 存到一个对象中 再把这些对象放到 bss这个集合中
最后$.post中的值 就是bss
...全文
1492 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Those_struggling 2015-10-16
  • 打赏
  • 举报
回复
$('#btnClose').click(function(value) { $.ajax({ url:url, data:{key:value.join(";")} }) });
zy_think123 2014-08-02
  • 打赏
  • 举报
回复
个人觉得只有转换成其他格式的数据了,json/xml格式的都行,然后后台在处理吧
csucaicai 2014-08-01
  • 打赏
  • 举报
回复
上面是我做OA时候的代码,大体就是这样, $.formJson('contactForm')就是把表单数据都封装成json格式,传到后台
csucaicai 2014-08-01
  • 打赏
  • 举报
回复
如果你用的是struts2,有对应的domain对象,页面有相应的form,直接提交就好了
<html>
<head>
<title>XX</title>
<script type='text/javascript' src='<%=path%>/script/mytree.js'></script>
<script type='text/javascript'>
	jQuery(function($) {
				$.getJSON('<%=path%>/contacts!queryAllContactsGroup.action').done(function(d){
					  var obj=document.getElementById('contactsGroupId');
					  var names=document.getElementById('names').value;
					for(var i=0;i<d.total;i++){
						  obj.options.add(new Option(d.rows[i].name,d.rows[i].cgroup_id));
						  if(d.rows[i].name==names){
							  obj.options[i].selected=true;
						  }
					}
					
					
				});
		$('#btnSave').click(function() {
			$('#contactForm').form('submit');
			if ($('.validatebox-invalid').length > 0) {
				return;
			}
			var cgroupId=document.getElementById('contactsGroupId').value;
			  $.postJSON('<%=path%>/contacts!newContacts.action?cgroupId='
											+ cgroupId,
									$.formJson('contactForm')).done(
									function(arguements) {
										window.close();
										window.opener.$("#btnOnlyQuery")
												.click();
									}).fail(function() {
								$.messager.alert('提示', '  保存失败!');
							});
						});
		$('#btnClose').click(function() {
			window.close();
		});
		$
				.extend(
						$.fn.validatebox.defaults.rules,
						{
							phone : {
								// 验证电话号码
								validator : function(value) {
									return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i
											.test(value);
								},
								message : '格式不正确,请使用下面格式:020-88888888'
							},
							length : {
								validator : function(value, param) {
									var len = $.trim(value).length;
									return len <= param[1];
								},
								message : "输入内容长度必须介于{0}和{1}之间."
							},
							mobile : {
								// 验证手机号码
								validator : function(value) {
									return /^(13|15|18)\d{9}$/i.test(value);
								},
								message : '手机号码格式不正确'
							},
							zip : {
								// 验证邮政编码
								validator : function(value) {
									return /^[1-9]\d{5}$/i.test(value);
								},
								message : '邮政编码格式不正确'
							},
							qq : {// 验证QQ,从10000开始
								validator : function(value) {
									return /^[1-9]\d{4,9}$/i.test(value);
								},
								message : 'QQ号码格式不正确'
							}

						});
		$('#qq').validatebox({
			validType : 'qq'
		});
		$('#email').validatebox({
			validType : 'email'
		});
		$('#officeZipcode').validatebox({
			validType : 'zip'
		});
		$('#homeZipcode').validatebox({
			validType : 'zip'
		});

	});
</script>
</head>
<body>
	<div id="divEdit" class="div_edit">
		<form id='contactForm'>
			<table class="div_edit_table">
				<tr>
					<th>通讯录分组</th>
					<td><select id='contactsGroupId' name="theUnit"
						style='width:500px; float:left; '>
					</select>
					</td>
				</tr>
				<tr>
					<th>姓名</th>
					<td><input id='name' class="easyui-validatebox" type="text"
						required="true" validType="length[1,8]" name="contacts.name"
						value=""></input> <input id='names' type="text" hidden="true"
						style="display:none" value='${name}'></input>
					</td>
				</tr>
				<tr>
					<th>称呼</th>
					<td><input id='appellation' class="easyui-validatebox"
						type="text"  validType="length[1,40]"
						name="contacts.appellation" value=""></input>
					</td>
				</tr>
				<tr>
					<th>单位</th>
					<td><input id='theUnit' class="easyui-validatebox" type="text"
						validType="length[1,200]" name="contacts.theUnit"
						value=""></input>
					</td>
				</tr>
				<tr>
					<th>职务</th>
					<td><input id='position' class="easyui-validatebox"
						type="text" validType="length[1,100]"
						name="contacts.position" value=""></input>
					</td>
				</tr>
				<tr>
					<th>手机</th>
					<td><input id='mobile' class="easyui-validatebox" type="text" validType="mobile" 
						name="contacts.mobile" value=""></input>
					</td>
				</tr>
				<tr>
					<th>其他手机</th>
					<td><input id='otherMobile' class="easyui-validatebox" validType="mobile" 
						type="text" name="contacts.otherMobile" value=""></input>
					</td>
				</tr>
				<tr>
					<th>办公电话</th>
					<td><input id='officePhone' class="easyui-validatebox" validType="phone" 
						type="text" name="contacts.officePhone" value=""></input>
					</td>
				</tr>
				<tr>
					<th>住宅电话</th>
					<td><input id='homePhone' class="easyui-validatebox" validType="phone" 
						type="text" name="contacts.homePhone" value=""></input>
					</td>
				</tr>
				<tr>
					<th>其他电话</th>
					<td><input id='otherPhone' class="easyui-validatebox" validType="phone" 
						type="text" name="contacts.otherPhone" value=""></input>
					</td>
				</tr>
				<tr>
					<th>QQ</th>
					<td><input id='qq' class="easyui-validatebox" type="text" validType="qq" 
						name="contacts.qq" value=""></input>
					</td>
				</tr>
				<tr>
					<th>电子邮箱</th>
					<td><input id='email' class="easyui-validatebox" type="text" validType="email" 
						name="contacts.email" value=""></input>
					</td>
				</tr>
				<tr>
					<th>办公地址</th>
					<td><input id='officeAddr' class="easyui-validatebox"
						type="text" validType="length[1,200]" name="contacts.officeAddr"
						value=""></input>
					</td>
				</tr>
				<tr>
					<th>办公邮编</th>
					<td><input id='officeZipcode' class="easyui-validatebox" validType="zip" 
						type="text" name="contacts.officeZipcode" value=""></input>
					</td>
				</tr>
				<tr>
					<th>住宅地址</th>
					<td><input id='homeAddr' class="easyui-validatebox"
						type="text" validType="length[1,200]" name="contacts.homeAddr"
						value=""></input>
					</td>
				</tr>
				<tr>
					<th>住宅邮编</th>
					<td><input id='homeZipcode' class="easyui-validatebox" validType="zip" 
						type="text" name="contacts.homeZipcode" value=""></input> <input
						id='cgroupId' class="easyui-validatebox" name="contacts.cgroupId"
						style="display:none;" value='${contactsGroup.cgroupId}'></input></td>
				</tr>
				<tr>
					<th>备注</th>
					<td><textarea id='remark' rows="3" name="contacts.remark"></textarea>
					</td>
				</tr>
			</table>
			<div class="div_edit_opt">
				<a id="btnSave" class="easyui-linkbutton"
					data-options="iconCls:'icon-save'">保存</a> <a id="btnClose" style="margin-left:10px"
					class="easyui-linkbutton" data-options="iconCls:'icon-cancel'">关闭</a>
			</div>
		</form>

	</div>
</body>
</html>
剑神一笑 2014-08-01
  • 打赏
  • 举报
回复
直接传对象传不过去 转换成json或者xml传就行, 或者直接拼接url都可以,关键要自己尝试 思路都在这里 一个一个试吧
小灯光环 2014-08-01
  • 打赏
  • 举报
回复
引用 6 楼 baidu_18143629 的回复:
[quote=引用 2 楼 wlwlwlwl015 的回复:] $.post 的这个data参数好像只能是字符串吧。 像你这种情况,一般每一行应该是只传一个id吧,你可以通过js处理一下,把你所有提交的id通过逗号连起来,拼成字符串,然后再调用$.post把你的这个id的字符串传到后台,后台再做处理,是不是稳妥一些。
是这样的 每一行要传 两个参数 把这俩参数放进一个对象 再把这些对象放进一个集合中 最后要传的是一个集合 后台要遍历这个集合 然后插入数据库中 这些数据要放到一个中间表中 我的主要任务是把这个集合传过去 Array [ Object ,Object] 这时我输出到控制台的集合 [/quote] 那就用serialize()把参数序列化成字符串吧,$.post是不能传Js对象的,你可以后台处理。
baidu_18143629 2014-08-01
  • 打赏
  • 举报
回复
引用 2 楼 wlwlwlwl015 的回复:
$.post 的这个data参数好像只能是字符串吧。 像你这种情况,一般每一行应该是只传一个id吧,你可以通过js处理一下,把你所有提交的id通过逗号连起来,拼成字符串,然后再调用$.post把你的这个id的字符串传到后台,后台再做处理,是不是稳妥一些。
是这样的 每一行要传 两个参数 把这俩参数放进一个对象 再把这些对象放进一个集合中 最后要传的是一个集合 后台要遍历这个集合 然后插入数据库中 这些数据要放到一个中间表中 我的主要任务是把这个集合传过去 Array [ Object ,Object] 这时我输出到控制台的集合
tony4geek 2014-08-01
  • 打赏
  • 举报
回复
你 的数据序列化下,传到后台然后解析。
tony4geek 2014-08-01
  • 打赏
  • 举报
回复
上面发错了。 不好意思。
tony4geek 2014-08-01
  • 打赏
  • 举报
回复
小灯光环 2014-08-01
  • 打赏
  • 举报
回复
$.post 的这个data参数好像只能是字符串吧。 像你这种情况,一般每一行应该是只传一个id吧,你可以通过js处理一下,把你所有提交的id通过逗号连起来,拼成字符串,然后再调用$.post把你的这个id的字符串传到后台,后台再做处理,是不是稳妥一些。
剑神一笑 2014-08-01
  • 打赏
  • 举报
回复
可以使用serialize() 方法来实现参数序列化 获取的参数为以下格式(?)&id=1&id=2&id=3 等等

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧