0

我正在尝试将数组发布到另一个要处理的文件。数组在下面,它正确地填充了行。我在脚本标记的开头对其进行了初始化以使其成为全局。
在 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']);

我在这里做错了什么?

4

1 回答 1

0

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

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']);
}
于 2012-11-07T23:36:55.717 回答