通过POST将javascript数组传递给PHP无法正常工作

时间:2016-08-09 16:46:12

标签: javascript php arrays post

我需要通过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文件中的代码行。

任何建议将不胜感激!提前谢谢!

切萨雷

1 个答案:

答案 0 :(得分:2)

问题是您要将输入值设置为litteral字符串rgba()而不是该变量的内容。

更改

"arr_selections_json"

echo 'document.write("... value=\"arr_selections_json\" />");';