Javascript 在JSON之间序列化表单
我想将表单序列化为json,处理json对象,然后重新序列化它,通过ajax发送到php脚本 下面是我想做的一个粗略的例子:Javascript 在JSON之间序列化表单,javascript,jquery,json,serialization,Javascript,Jquery,Json,Serialization,我想将表单序列化为json,处理json对象,然后重新序列化它,通过ajax发送到php脚本 下面是我想做的一个粗略的例子: s = $('.dia_req_form').serialize(); j = //convert s to json ...HOW?? if(j.name) { alert("you must enter a name"); } if(selectedID) { j.id = selectedID; } s = //serialize j ...HOW?
s = $('.dia_req_form').serialize();
j = //convert s to json ...HOW??
if(j.name)
{
alert("you must enter a name");
}
if(selectedID)
{
j.id = selectedID;
}
s = //serialize j ...HOW??
您可以看到两个部分,说明如何使用,如下所示:
//validate here
var obj = $('.dia_req_form').serializeArray();
if(selectedID) {
obj.push({ name: 'id', value: selectedID });
}
var s = $.param(obj); //s can be used for submission
在内部,它实际上相当于$.param($(this).serializeArray())
,因此所做的只是将步骤分开,在需要时添加一个项
是一个具有两个属性(
name
和value
)的对象数组,我们所做的只是在需要时向数组中添加一些对象,然后调用使其成为字符串。您可以使用此库,$。serializeObject
是现有$方法的变体。serialize
方法,将表单元素转换为可在JavaScript应用程序中使用的有效JSON对象,而不是将表单元素编码为字符串
为什么不在序列化之前进行检查?:)@Nick我可以事先验证,但我仍然需要向列表中添加其他变量。但是我总是可以将
&foo=bar
附加到序列化字符串中。如果这是最好的办法。