jquery插件serializeFormToObject

$.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;
}

通过使用这个方法可以将form里面的内容转化成如下漂亮的形式

  {
    "a":1,
    "b":2,
    "c":3
  }

注:serialzeArray根据Jquery的文档,可以提取表单的元素,转换成如下形式:

    [
      {
        name: "a",
        value: "1"
      },
      {
        name: "b",
        value: "2"
      },
      {
        name: "c",
        value: "3"
      },
      {
        name: "d",
        value: "4"
      },
      {
        name: "e",
        value: "5"
      }
    ]

  也可以不使用serializeformtoobject方法自己封装一个类似的代码例如下列的代码把表单从转换成js对象格式

_$entityChangeFilterForm.serializeArray().map(function (x) { prms[abp.utils.toCamelCase(x.name)] = x.value; });
原文地址:https://www.cnblogs.com/wiggin-Z/p/10233672.html