1

これは過去のQ/Aと似ているように聞こえるかもしれませんが、私のものは少し違うと思います。テキストファイル情報を動的にロードしたいWebページがあります。テキストファイルをiframe経由でアップロードし、この情報をphpからJavascriptに保存したいと思います。これを通常の変数として保存しようとすると機能しないため、この情報を$_POST['hidden_​​form']という名前の非表示フォームの下に$_POST配列の一部として保存することでこれを実行しようとしました。PHPをJavascriptに読み込もうとすると、「予期しないトークンが不正です」というエラーが表示され続けます。次の2つのコードを試しました。

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 に答える