拓展 jQuery 的 serialize(),将 form 表单转化为 json 对象
jQuery 的 serialize() 方法经常会报 Uncaught TypeError: JSON.serializeObject is not a function 的错误,
原装的方法真的一点都不好用,所以我在我的引用文件里面扩展了 jQuery 的方法,可以直接用
var obj = $("#form").parseForm(); 变成 json 对象,然后直接扔给后台。
搜索引擎搜索如下关键字可以查找更多资料:
jquery如何将表单内容转为json对象
法1
//扩展jquery的格式化方法 $.fn.parseForm=function(){ var serializeObj={}; var array=this.serializeArray(); var str=this.serialize(); $(array).each(function(){ if(serializeObj[this.name]){ if($.isArray(serializeObj[this.name])){ serializeObj[this.name].push(this.value); }else{ serializeObj[this.name]=[serializeObj[this.name],this.value]; } }else{ serializeObj[this.name]=this.value; } }); return serializeObj; };
调用方法
var param = $("#insurInfoForm").parseForm(); $.ajax({ url : contextPath+'/products/policyList', data : JSON.stringify(param), type : 'post', dataType : 'json', async : false, success : function(data) { } });
法2
$.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; };
调用方法参考上面~
使用方法(前提:使用的地方引入 jQuery):
法1:在需要格式化表单的html文件或者js文件中引入上面的方法。
法2:将如上的方法放进一个公共的js文件,然后在使用地方引入改公共的 js 文件。
参考:
https://blog.csdn.net/sychel/article/details/50068557
https://www.jb51.net/article/140685.htm
https://blog.csdn.net/lovesomnus/article/details/78026586
https://www.cnblogs.com/hyl8218/archive/2013/06/27/3159178.html
https://stackoverflow.com/questions/8900587/jquery-serializeobject-is-not-a-function-only-in-firefox
全文完
:)
原文地址:
https://www.cnblogs.com/poterliu/p/10142758.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)