我需要通过POST将javascript数组传递给PHP文件。
我试图说明我的原始业务,试图解释我的麻烦......
这是我的第一个PHP文件,我在其中声明了一个javascript数组,并将每个元素设置为1个值(我知道这不是一个很好的业务,但它没关系,它只是解释....)< / p>
<?php
echo '<form action="testPhp-2.php" method="POST" target="testPhp-2">';
echo '<script type="text/javascript">';
echo 'var arr_selections = [];';
echo 'for(i=0; i < 10; i++)';
echo ' {';
echo ' arr_selections[i] = 1';
echo ' }';
echo 'arr_selections_json = JSON.stringify(arr_selections);';
echo 'alert (arr_selections[2]);';
echo 'document.write("<br/>");';
echo ' ';
// echo 'document.write("<input type="hidden" />");';
echo 'document.write("<input type=\"hidden\" name=\"arr_selections_json\" value=\"arr_selections_json\" />");';
echo ' ';
echo '</script>';
echo ' <input type="submit" value="Controlla">';
echo ' </form>';
?>
....这里你是testPhp-2文件的代码......
<?php
if(isset($_POST['arr_selections_json']))
{
echo "OK, array exist !! ";
echo '</br>';
echo '</br>';
$arr_selections = json_decode($_POST['arr_selections_json'], true);
echo $arr_selections[0];
}
else {
echo "NO; array does not exist !! ";
echo '</br>';
echo '</br>';
}
?>
现在,如果您尝试执行代码,您将看到确定,数组存在!! 消息,但没有打印关于 echo $ arr_selections [0]的数组值]; testPhp-2.php文件中的代码行。
任何建议将不胜感激!提前谢谢!
切萨雷
答案 0 :(得分:2)
问题是您要将输入值设置为litteral字符串rgba()
而不是该变量的内容。
更改
"arr_selections_json"
要
echo 'document.write("... value=\"arr_selections_json\" />");';