将数组存储在隐藏输入中,并使用ajax打印输出

时间:2016-01-12 03:07:50

标签: javascript php jquery arrays ajax

我正在尝试将数组存储在元素的值中,然后使用ajax来打印数组,但是当我尝试使用print_r()打印数组时,而不是打印数组,它打印出来字阵。我究竟做错了什么?

<?php

$array[0] = 0;
$array[1] = 1;
$array[2] = 2;

echo "<input id = 'array' type = 'hidden' value = '$array'>";
//more codes

?>

在JavaScript中:

var array = $("#"+array).val();
//more codes
data: { array: array },

在第二页

array = $_POST['array'];
print_r(array);

结果

array

预期结果

0
1
2

2 个答案:

答案 0 :(得分:2)

在JavaScript上使用它之前将数组转换为json

echo "<input id = 'array' type = 'hidden' value = '" . json_encode($array) . "'>";

在第二页上解码:

$array = json_decode($_POST['array']);
print_r(array);

答案 1 :(得分:0)

javascript和php有不同的语法用于数组。

你应该使用

echo "<input id = 'array' type = 'hidden' value = '". implode(',', $array) ."'>";

...

在第二页

$array = $_POST['array']; array = explode(',', $array); print_r(array);