2010-06-23 136 views

回答

1

jQuery有一个serialize函数。

$("#form").serialize(); // Returns serialized string 

参考文献:http://api.jquery.com/serialize/

+9

什么是反序列化? – 2015-08-08 06:57:13

+0

@PabloPazos请参阅[此链接](https://gist.github.com/rcmachado/242617) – ako 2017-09-13 10:36:58

1

表单中的所有元件将被一起发送,如果使用$( '形式')序列化();

15

.serialize()将映射有一个名字你输入控件定义为标准的查询字符串属性:

foo=bar&bar=foo&and=soon 

那种字符串容易入店几乎在每一个“后台”的编程语言。

如果您需要序列化对象信息,请使用JSON

var obj = { 
    foo: 'bar', 
    more: 'etc 
}; 

将此串行化为window.JSON.stringify(obj);。要反序列化这样的JSON字符串,请使用window.JSON.parse(str);,它将返回一个JavaScript对象。

许多语言都支持这个原则。

+1

您好,为什么jquery使用name属性来序列化表单(而不是使用id属性?) – frabiacca 2010-06-30 16:06:22

+0

@frabiacca因为HTTP POST和HTTP GET是如何工作的。他们使用名称作为变量名称,并为变量值使用值。名称值对。 Name = value&varnam = varval&custvar = custval ...等。 – SgtPooki 2011-09-08 01:41:17

+0

这应该是被接受的答案。 – 2017-03-01 13:02:48