表单序列化以及后台表单数据参数的提取

(该资料是楼主复习时所用,很浅显,如果有哪些地方不正确,欢迎大家留言指出)

提交表单的时候,一个表单可能会有多个参数,为了将这些参数传到后台,有两种方法:

(1)通过表单id一个一个地将表单输入栏的value值取出,然后通过key:value的形式传到后台,在后台用requeset.getparameter(key),

当表单参数很多时,传入的过程很麻烦,传到后台后,对相应对象赋值也极为麻烦

(2)将表单整个序列化,打包成一个拥有多个key:value的集合,在后台用request.getparametermap()获取map集合

当表单参数过多时,使用表单序列化更为方便。

表单序列化的代码如下:

   //通过表单的id用id选择器将表单序列化,并经由ajax传至后台1  var formData = $("#registerForm").serialize();
2         $.post("/userServlet?methodName=register", formData, function (result) {
3             alert("大帅哥")
4             console.log(result)
5
6         }, "json")

后台取出参数,并对相应对象进行赋值,代码如下:

  //用map集合接收前台传递的参数
  Map<String, String[]> map = request.getParameterMap();
  //获取表单中特定的参数也可以根据表单中对应输入框的id进行取值
  String check = request.getParameter("check");   User user =new User();   ResultInfo resultInfo =new ResultInfo();
   try {      //用beanutils.utils直接对相应对象进行赋值,会有报错,try catch或者throw掉
                 BeanUtils.populate(user, map);
             } catch (Exception e) {
               resultInfo.setFlag(false);
               resultInfo.setErrorMsg("注册失败,请刷新页面后重试");
             }

原文地址:https://www.cnblogs.com/linsky/p/10360753.html

时间: 2024-10-11 11:22:59

表单序列化以及后台表单数据参数的提取的相关文章

表单序列化-可以简化表单提交数据

提交表单的时候,可以用表单序列化的方式,就不用找到每个要提交的id逐个提交! <form id="loginInputForm" method="post"> <table> <tr> <th align="right">用户名</th><td><input name="name"/></td> </tr> <tr

ajax 多个表单值问题,表单序列化加其它表单值

$.ajax({ type: "post", url: "{:u('cart/totalByCard')}?t="+Math.random(9999), data: {'address':address,'delivity':delivity,'payment':payment,$('#card_form').serialize()}, dataType: "json", success: function(json) { $('#cost_it

ajax 多个参数问题,如何既能表单序列化获取,又能加参数,加全部代码

  $.param({'address':address,'delivity':delivity,'payment':payment}) + '&' + $('#card_form').serialize()   原文地址:https://www.cnblogs.com/hfultrastrong/p/8817949.html

ajax提交表单序列化(serialize())数据

知识点: $("#form").serialize();将表单数据序列化为标准URL编码文本字符串(key1=value1&key2=value2…). 以下用一个例子来演示ajax提交表单序列化数据. 表单内容: <form id="f1"> <label for="realname" >姓名:</label><input type="text" name="rea

将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对&lt;name&amp;value&gt;格式和JSON格式。

http://zhengxinlong.iteye.com/blog/848712 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式. /// <reference name="jquery.js" description="1.3.2版本以上" /> /*!* 扩展jQuery表单序列化函数:{ Version: 1.2, Author: Eric

从list表单序列化后的值转成标准json

var json = {"name":["1111","222"],"sex":["男","女"],"age":["1111","2222"],"uNo":["111","2222"]};//从list表单序列化取出来的格式 var param = []; //定义数组

原生js实现form表单序列化

大家都知道在jquery中有相应的表单序列化的方法: 1.serialize()方法 格式:var data = $("form").serialize(); 功能:将表单内容序列化成一个字符串. 这样在ajax提交表单数据时,就不用一一列举出每一个参数.只需将data参数设置为 $("form").serialize() 即可. 2.serializeArray()方法 格式:var jsonData = $("form").serialize

解决表单GET提交后台数据乱码问题

?在页面上提交数据到服务器有两种方式"GET"和"POST",当使用"GET"时,传输的数据是直接拼接在URL后面的.当数据中含有对HTML来说不安全的字符例如中文时,就会被编码,一般采用的是UTF-8编码.这时URL已经被转义成相对安全的字符串.此时再经过ios-8859-1的编码方式转换成二进制的形式跟随请求头一起发送到服务器端. ?到达服务器端时,服务器也对数据进行两次解码,服务器先把数据经过ios-8859-1解码,然后根据服务器默认的编

待整理笔记(表单序列化操作、多态函数、对象的状态队列管理模式)

1.jquery的表单序列化操作 $('.form').serializeArray();通过serializeArray()方法得到表单form(class=“form”)的dom结点下所有含有name值的节点的value值的一个数组; 这个数组由多个对象构成,每个对象有name和value两个key值. 2.编程的多态性思想 利用函数的参数数组arguments,通过判断数组的长度来选择性执行某个功能: 例如: store: function(namespace, data, remove)