表单序列化

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<form id="login-form">
			<p>
				用户名:<input type="text" name="userName" />
			</p>
			<p>
				密码:<input type="password" name="pwd" />
			</p>
			<p>
				还有很多其它的表单项……
			</p>
			<!--
				如果要使用Ajax操作提交表单
				而不是使用默认提交行为,则将原来的提交按钮改为普通按钮,
				然后在按钮的事件处理函数中编写Ajax提交的逻辑
			-->
			<button type="button" id="submit">提交</button>
		</form>
	</body>
	<script type="text/javascript" src="js/jquery1.9.1.js"></script>
	<script type="text/javascript" src="js/common.js"></script>
	<script>
		$("#submit").on("click",function(){
			//TODO:校验
			
			$.ajax({
				type:"post",
				url:serverPath+"/test",
				//1.逐个获取表单项元素的值,对于表单元素较多时会很麻烦
				// {
				// 	userName:$("input[name=userName]").val(),
				// 	pwd:$("input[name=pwd]").val(),
				// 	//……
				// }
				
				//2.对于表单而言,如果想要一次性获取其中的每一个表单项数据并作为请求参数
				//可以使用表单序列化的方式来一次性得到所有的表单数据
				//格式:serName=Tom&pwd=123
				data:$("#login-form").serialize()
				
			});
		});
	</script>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用Java的Servlet来接收序列数据。首先,您需要将数据序列为字符串,并将其作为请求参数发送到Servlet。然后,您可以使用Java的HttpServletRequest对象来获取这些参数,并将其反序列为Java对象。 以下是一个简的示例代码,用于接收名为"formdata"的序列数据: ```java import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class FormServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取序列数据 String formData = request.getParameter("formdata"); // 将序列数据反序列为Java对象 Map<String, String> formMap = null; try (InputStream is = new ByteArrayInputStream(formData.getBytes()); ObjectInputStream ois = new ObjectInputStream(is)) { formMap = (Map<String, String>) ois.readObject(); } catch (ClassNotFoundException e) { e.printStackTrace(); } // 处理数据 String name = formMap.get("name"); String email = formMap.get("email"); // 做出响应 response.setContentType("text/html"); response.getWriter().println("<html><body>" + "<h2>Form Data Received:</h2>" + "<p>Name: " + name + "</p>" + "<p>Email: " + email + "</p>" + "</body></html>"); } } ``` 这段代码假设您的数据是一个包含"name"和"email"字段的Map对象。您可以根据需要更改此代码以适应您的数据格式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值