Javascript 将数组存储在隐藏输入中,并使用ajax打印输出
我尝试将数组存储在元素的值中,然后使用ajax打印数组,但是当我尝试使用print_r()打印数组而不是打印数组时,它打印了单词数组。我做错了什么Javascript 将数组存储在隐藏输入中,并使用ajax打印输出,javascript,php,jquery,arrays,ajax,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上使用数组之前
<?php
$array[0] = 0;
$array[1] = 1;
$array[2] = 2;
echo "<input id = 'array' type = 'hidden' value = '$array'>";
//more codes
?>
在第二页
结果
预期结果
在JavaScript上使用数组之前,将其转换为json
echo "<input id = 'array' type = 'hidden' value = '" . json_encode($array) . "'>";
javascript和php在数组中使用不同的语法 你应该使用
echo”“代码>
在第二页
$array=$\u POST['array'];
数组=分解(“,”,$array);
打印(数组)代码>var数组=$(“#”+数组).val()代码>==>var数组=$(“#数组”).val()
在使用值usejson_decode
之前,您可以在input
字段和下一页上输出值时使用json_encode
。您还可以使用序列化
和取消序列化
来实现相同的效果。您为什么要这样做?如果只是在页面之间传递数据,PHP会话变量可能是一种更好的方法。
array = $_POST['array'];
print_r(array);
array
0
1
2
echo "<input id = 'array' type = 'hidden' value = '" . json_encode($array) . "'>";
$array = json_decode($_POST['array']);
print_r(array);