正在反序列化jQuery.Serialize的结果(到数组,而不是到窗体)

Deserializing the result of jQuery.Serialize (to an array - not to a form)

本文关键字:数组 窗体 反序列化 jQuery Serialize 结果      更新时间:2023-09-26

是否可以将jQuery.Serialize的结果反序列化为数组(或其他类似的JavaScript数据结构)?

我知道jQuery.Deserialize插件,但我认为你无法获得反序列化的数据;也就是说,它用于反序列化回原始形式(您以前从中序列化数据)。

如果您想将其作为一个数组,请尝试使用serializeArray而不是serialize,这样可以将映射到其名称的元素作为关联数组。

.serializeArray()

如@SpiXel所示,您可以使用serializeArray<form>元素生成数组。

jQuery中没有可用的函数来转换serialize函数生成的字符串。你必须做如下所示的事情

var paramString = $("#cform").serialize();
var jsonString = '{"' + paramString.replace(/[&=]/g, function(a, b) {
    return (a == "&" ? ",'"" : "'":");
}) + '}';
var object = $.parseJSON(jsonString);

尝试使用此语法,希望它能对您有所帮助。

 var d = $('#form4').serializeArray(); 
 d.push({lead_id : $("#lead_id").val()});