我有一个php关联数组$ php_array。另外,我的php文件中有一个如下表单。
<form action="" method="post">
<p class="submit">
<input name="submit" class="button-primary" value="Send" type="submit" id="">
<input type="hidden" name="details" value="' . $php_array . '"/>
</p>
</form>
我想将这个数组$ php_array传递给像
这样的javascript文件 `details = $("input[name=details]").val();`
数组的格式为
Array(
[59] => Sree
[53] => Smith
)
我想在点击“发送”链接时使用javascript显示名称。我怎样才能将php数组传递给javascript
答案 0 :(得分:2)
您应该将php数组编码为json格式,然后从客户端解码;
<form action="" method="post">
<p class="submit">
<input name="submit" class="button-primary" value="Send" type="submit" id="">
<input type="hidden" name="details" value='<?php echo json_encode($php_array); ?>'/>
</p>
</form>
并从您的javascript文件:
var details = JSON && JSON.parse($("input[name=details]").val()) || $.parseJSON($("input[name=details]").val());
答案 1 :(得分:1)
目前还不清楚你的最终目标,是通过XHR(ajax)发布的吗?
在这种情况下,我认为不需要使用表单来传递数据。您可以将其编码为json并将其抓取到您的JS文件或块上,如下所示:
<script type="text/javascript">
var details = <?php print(json_encode($php_array)) ?>;
// using jQuery
$('form').on('submit', function(e) {
// use 'details' here as you need
return false;
});
</script>
答案 2 :(得分:0)
只需使用json_encode($php_array)
将变量编码为json,然后在JavaScript端使用JSON.parse()