jQuery序列化数组

时间:2011-07-28 07:15:02

标签: php jquery ajax serialization

我有一个包含以下输入的网页:

<input type='text' name='packagedims[]' value='1' id='packagedims' title='Package1' />

我正在jQuery中使用它:

var packagedims = $('input#packagedims').serialize();

然后我用jQuery.ajax将它发布到我的php文件中:

'&packagedims=' + packagedims

(我知道我可以在整个表单上使用Serialize(),但我正在修改现有的代码,所以还没有完成这样做。在上面这行我将个别变量发送给php。)

当我使用alert()测试输出时,我得到以下结果:

&packagedims=packagedims%5B%5D=1&packagedims%5B%5D=2

我只想检查这种输出是否正确,并且在我的php文件中使用unSerialize()将能够将其拆分为正确的数组。

谢谢,

1 个答案:

答案 0 :(得分:4)

.serialize() [docs]已经以

的形式返回一个字符串
key=value&key=value&...

不要追加其他内容,否则会变成

key=key=value&...

这是不正确的。所以不要将它与'&packagedims='连接起来。

在PHP中不需要使用任何unserialize函数。数据将作为GET或POST数据发送,并通过$_GET$_POST以PHP格式提供。例如。如果您发出POST请求,$_POST['packagedims']将是一个包含值的数组。

Variables From External Sources可能值得一读。