zoukankan      html  css  js  c++  java
  • form 转json,将form表单中的数据序列化数组后转换为Json

    页面中引用了jquery,第一想到的就是序列化,但是序列化后的表单字段为a=1&b=2这种。

    这里写一个jquery的扩展方法

    $.fn.serializeObject = function()    
    {    
       var o = {};    
       var a = this.serializeArray();    
       $.each(a, function() {    
           if (o[this.name]) {    
               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的。

    像这样调用:

    var para = $('form').serializeObject() ;   
    para = JSON.stringify(para) ;   

    先把表单数据序列化为一个json对象,然后将json对象转换成一个json字符串。

    这样para就是一个json字符串啦。就可以发起请求了

    注意:这个只能获取到所有的input标签,如果想获取下拉框的话,需要单独获取,然后把获取到的值拼接进去。例如:

    var data=$("#fm").serializeObject();
    JSON.stringify(data);
    data.txt2="1111";//修改值
    var sel1=$("#sel1").val();//获取下拉框的值
    data.sel1=sel1;//拼接进去
    

      

  • 相关阅读:
    shell语句for循环
    ls命令详解
    计算机相关概念总结(3)
    计算机相关概念总结(2)
    计算机相关概念总结(1)
    devops的概念
    jenkins无法连接gitlab
    Jenkins创建镜像后无法推送到harbor的问题
    Jenkins+gitlab+maven持续集成
    jenkins打完包在哪里
  • 原文地址:https://www.cnblogs.com/shuai7boy/p/8334182.html
Copyright © 2011-2022 走看看