1

我知道这听起来可能与过去的一些 Q/A 相似,但我认为我的略有不同。我有一个网页,我想动态加载文本文件信息。我通过 iframe 上传文本文件,我想将此信息从 php 保存到 Javascript。每当我尝试将其保存为常规变量时,它都不起作用,因此我尝试通过将此信息保存为 $_POST 数组的一部分,在名为 $_POST['hidden_​​form'] 的隐藏表单下。每当我尝试将 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']); ?>;

将 php 数组分配给 javascript 数组

我认为该错误与指定数组所需的“'”有关,但不确定。我不知道从这里去哪里,所以任何帮助都将不胜感激。如果有更好的方法可以做到这一点,请告诉我。提前致谢!

4

2 回答 2

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";
}

两者都应该工作,可能有引号破坏了什么?

于 2012-06-11T15:39:20.103 回答
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 将它传递给一个可以循环的函数,并 addSlashes 帖子中的每个值,比如

<?php
function arr_addSlashes($array){
    $ret = array();
    foreach($array as $k => $v){
        $ret[$k] = addSlashes($v);
    }
    return $ret;
}
?>
于 2012-06-11T15:48:33.653 回答