Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过jquery ajax传递php数组_Php_Jquery_Arrays_Ajax - Fatal编程技术网

通过jquery ajax传递php数组

通过jquery ajax传递php数组,php,jquery,arrays,ajax,Php,Jquery,Arrays,Ajax,我想通过ajax传递一个数组,但不确定如何实现 <input type="button" data-array="'.$array.'" id="button" value="click"> 然后我想把数组变量$array传递给ajax.php。这可能吗?如果可能的话,是怎么做到的?我想这与json有关?您可以将数组存储在会话变量中,然后在需要时调用它,而不是将其存储在html中 $_SESSION['dataArray'] = $array; 可以序列化数组,也可以将其元素放在

我想通过ajax传递一个数组,但不确定如何实现

<input type="button" data-array="'.$array.'" id="button" value="click">

然后我想把数组变量$array传递给ajax.php。这可能吗?如果可能的话,是怎么做到的?我想这与json有关?

您可以将数组存储在会话变量中,然后在需要时调用它,而不是将其存储在html中

$_SESSION['dataArray'] = $array;

可以序列化数组,也可以将其元素放在单独的输入元素中。对于您的示例,序列化看起来很好,甚至在JSON本身中也是如此。然后你可以通过一个简单的
jseon_decode()
调用在php端再次解码。如果你执行
data array=“”.json_encode($array)。“…
你会得到json,这通常更容易使用。哦,我也可以在ajax.php中对数组进行内爆,这可能是最简单的。最简单的方法是使用json,这就是为什么我们建议这样做。如果它是有效的JSON->只需执行
数据:{array:$(this).data('array')},
,jQuery甚至会自动将其解析为数组,并且jQuery将再次自动将其字符串化,您将在服务器端使用
$\u POST['array']
$_SESSION['dataArray'] = $array;