Ajax表单序列化后的数据格式转成Json发送给后台

    <script>
        $(function(){
        //表单转json函数
            $.fn.serializeObject = function(){
                    var o = {};
                    var a = this.serializeArray();
                    $.each(a, function() {
                        if (o[this.name] !== undefined) {
                            if (!o[this.name].push) {
                                o[this.name] = [o[this.name]];
                            }
                            o[this.name].push(this.value || ‘‘);
                        } else {
                            o[this.name] = this.value || ‘‘;
                        }
                    });
                    return o;
                };
        //表单转json结束
            $(‘#add_po‘).click(function(){
                $.ajax({
                    url:"/scf/purchase/add.do", //接口地址
                    type:"post",
                    data:JSON.stringify($(‘#po_add_form1‘).serializeObject()) + ‘&‘ + JSON.stringify($(‘#add_po_form‘).serializeObject()),//将表单序列化成一个对象,这里多个表单相加            //serializeObject()引入上述函数,将表单序列化成一个对象            //JSON.stringify()将对象转成字符串
                    contentType: ‘application/json‘,
                    datatype:"json",
                    success:function(data){
                        swal(data.message);
                        //location.href="scm_po_fhqd.html";
                    },error: function(XMLHttpRequest) {
                        console.log("错误状态:"+XMLHttpRequest.status);
                      }
                })
            })
        })
    </script>
时间: 2024-10-29 05:04:48

Ajax表单序列化后的数据格式转成Json发送给后台的相关文章

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

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

el-from 表单内 时间戳格式转换成 yyyy-MM-dd 传给后台,年月日后面不加时分秒(yyyy-MM-dd-hh-mm-ss)

需求: 前台页面输入日期联动选择, 需要传给后台 yyyy-MM-dd  进行匹配日期字段查询数据,但是前端页面from表单上拿到的值是 "2019-10-01T16:00:00.000Z" 这样的格式, 需要做前端处理 如下图: format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd" 上面两个属性用来指定日期选择器的格式, :default-time="['00:00:00', '23:

js表单序列化判断空值

学习javaweb的时候,做了将页面上的的表单信息添加到数据库中的练习.提交表单的时候,需要保证每个输入框.单选按钮.复选框等都不为空,刚开始的时候挨个获取控件的值进行判断是否为空,后来认识了表单序列化这么一个方法,就是了下用序列化来判断空值 //form表单页面 <form id="basicInfo" action="EmployeeServlet?flag=addEmployeeInfo" method="post"> <

$.ajax、$.post、from表单序列化工具

$.ajax\$.post <script type="text/javascript" language="javascript" src="js/jquery-1.8.3.js" ></script> <script type="text/javascript"> //使用Ajax($.ajax)调用 function ajax(){ $.ajax({ type:"post&q

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

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

将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)

表单序列化类型的数据是指url传递的数据的格式,形如"key=value&key=value&key=value"这样的key/value的键值对.一般来说使用jQuery的$.fn.serialize函数能达到这样的效果.如何将这样的格式转化为对象? 我们知道使用jQuery的$.fn.serializeArray函数得到的是一个如下结构的对象 [ { name: "startTime" value: "2015-12-02 00:00:

ajax封装函数和表单序列化

//表单序列化function iSerialize(form){ var parts={}; for(var i=0;i<form.elements.length;i++){ var filed=form.elements[i]; switch(filed.type){ case undefined: case "submit": case "reset": case "file": case "button": br

原生js实现form表单序列化

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

jquery表单序列化

http://gongwen.sinaapp.com/article-206.html jquery表单序列化,数据格式转成json格式;用的时候直接$('#FormId').serializeJson();便可. 代码如下: //jquery插件把表单序列化成json格式的数据start (function($){ $.fn.serializeJson=function(){ var serializeObj={}; var array=this.serializeArray(); var s