我知道这可能听起来类似于过去的Q / As,我认为我的情况略有不同。我有一个网页,我想动态加载文本文件信息。我通过iframe上传文本文件,我想将这些信息从php保存到Javascript。每当我尝试将其保存为常规变量时,它都不起作用,所以我试图通过将此信息保存为名为$ _POST ['hidden_form']的隐藏表单下的$ _POST数组的一部分来实现此目的。每当我尝试将PHP读入Javascript时,我都会收到错误“Unexpected token ILLEGAL”。我尝试了以下两个代码:
for($i=0;$i< count($_POST['hidden_form']) ;$i++)
{
echo "saved_form[$i]='" . $_POST['hidden_form'][$i]. "';\n";
}
和
saved_form = <?php echo json_encode($_POST['hidden_form']); ?>;
Assigning a php array into a javascript array
我认为错误与指定数组所需的“'”有关,但不确定。我不知道从哪里去,所以任何帮助都会非常感激。如果有更好的方法,请告诉我。提前谢谢!
答案 0 :(得分:0)
saved_form = '<?php echo addslashes(json_encode($_POST['hidden_form'])); ?>';
或者
for($i=0;$i< count($_POST['hidden_form']) ;$i++)
{
echo "saved_form[$i]='" . addslashes($_POST['hidden_form'][$i]) . "';\n";
}
两者都应该有效,可能有引号破坏了什么?
答案 1 :(得分:0)
我使用的最佳方式是,
文本/ JavaScript的
var saved_form = <?php echo json_encode($_POST['hidden_form']) ?>
请注意php周围没有引号所以你的saved_form是一个对象而不是字符串json字符串女巫会要求你使用var form_object = eval(saved_form)
@Lee可能意味着这个?
只是注意,虽然我不会使用Raw $ _POST将它传递给一个可以循环的函数并且在帖子中添加一些东西,如
<?php
function arr_addSlashes($array){
$ret = array();
foreach($array as $k => $v){
$ret[$k] = addSlashes($v);
}
return $ret;
}
?>