zoukankan      html  css  js  c++  java
  • js中表单数据序列化方式--转

    https://www.cnblogs.com/30go/p/9158167.html

    一共有以下三种:

    var obj1 = $('#queryForm').serialize();
    var obj2 = $('#queryForm').serializeArray();
    var obj3 = $('#queryForm').serializeObject();
    var obj4 = JSON.stringify(obj3); //通过3转化为json字符串

    分别对应的是:

    obj1: 字符串拼接

    obj2: 对象数组,都是name,vlaue

    obj3: 对象

    obj4: json字符串

     

    应用场景:

    1. 使用easyui中的datagrid表格控件展示数据的时候,在查询的页面中使用如下:

    //toolbar按钮
    function searchData(){
        var obj = $('#queryForm').serializeObject();
        $('#dg_sub').datagrid("reload",obj);
    }

    2. ajax向后台提交数据时:

    如果一个表单的提交,可以直接使用第3种形式,即向后台提交一个object对象。例子如下:

    $.ajax({
        type: 'POST',
        url: ctx + "/buyOrderDetail/buyOrderDetailSave", 
        async: false,
        data: $('#buyOrderForm').serializeObject(),
        success: function(data){
        },
        error:function(data){
        }
    });

     如果有多个表单需要同时向后台提交,这样使用第3种就不行了,ajax就需要做以下调整更新:

    var buyOrderStr = JSON.stringify($('#buyOrderForm').serializeObject());
    $.ajax({
        type: 'POST',
        url: ctx + "/buyOrderDetail/buyOrderDetailSave", 
        async: false,
        data: {buyOrderStr: buyOrderStr, entities: entities},
        success: function(data){
        },
        error:function(data){
        }
    });

    这时候就变成了json字符串,在java后台直接接收字符串形式,然后使用json转对象即可。

     //保存采购单明细信息
        @RequestMapping("/buyOrderDetailSave")
        @ResponseBody
        public String  buyOrderDetailSave(Model model,String buyOrderStr, String entities) throws Exception {
    
            BuyOrder buyOrder = JSON.parseObject(buyOrderStr, BuyOrder.class);
            
            entities = entities.substring(2);
            entities =" [" + entities + "]";
            //前端提交的LIST
            List<BuyOrderDetail> listDetail = JSON.parseArray(entities, BuyOrderDetail.class); 
    }
  • 相关阅读:
    SIFT四部曲之——高斯滤波
    Opencv模块功能介绍
    颜色空间那些事儿
    libSVM笔记之(一)在matlab环境下安装配置libSVM
    Debian7安装后的配置(英文环境chromium浏览器中汉字变成方块的问题)
    JAVA的编码转换测试
    Ubuntu普通用户使用串口设备
    RTSP流和USB摄像头转MJPEG使用VLC
    ubuntu 14.04安装右键打开终端功能
    学习的目的和方法论(实战主义)
  • 原文地址:https://www.cnblogs.com/ceci/p/12186789.html
Copyright © 2011-2022 走看看