序列化并将数组发布到进程文件

时间:2012-11-07 23:01:25

标签: php javascript

我正在尝试将数组发布到另一个要处理的文件中。数组在下面,它正确填充行。我在脚本标记的开头初始化它以使其全局化  在javascript中:

var locationsall = new Array();
locationsall[counter] = new Array();
locationsall[counter][0] = address;
locationsall[counter][1] = lat;
locationsall[counter][2] = lng;

在我的表单中,我尝试将其串行并发布

 <input type="hidden" name="result" value="<?php echo serialize($locationsall); ?>">

当我尝试反序列化它时,它没有任何东西..

    $locations = unserialize($_POST['result']);

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

当您通过jQuery更新客户端数据时,您需要将result的值设置为您想要传递的任何内容。您可以使用jQuery.param()序列化JS对象,这样您就可以将JSON编码的数据传递给PHP。在处理发布数据时,您需要$_POST['result']

中的decode the JSON data

JS

var test = new Array('a', 'b');
var data = $.param(test);
$('#result').val(data);
...

PHP

if (isset($_POST['result'])) {
    $data = (array) json_decode($_POST['result']);
}