dongzhang4301 2016-11-23 04:08
浏览 37
已采纳

如何在按钮单击时将Javascript数组传递给PHP数组?

I am having trouble passing a Javascript array to a PHP array on the same page when the submit button is pressed. I have seen discussion of JSON.stringify and json_encode on other posts, but I am not sure how to use those functions with my code.

JS:

    <script>
        var kegs = [];
        var textarea = document.getElementById("your_textarea");
        $("#kegId").on('keyup', function (e) {
            if (e.keyCode == 13) {
                kegs.push($(this).val());
                $("#kegId").val("");
                textarea.value = kegs.join("
");

                };
            });
    </script>

PHP:

if (!isset($_POST['btn-addkegs'])) {
//I want to set the Javascript array 'kegs' to a php variable here
  • 写回答

3条回答 默认 最新

  • dourong8495 2016-11-23 04:25
    关注

    Using Ajax will do it for you! I wrote this code that sends an array to PHP on the same page. Once you get the array in PHP you can do whatever you want with it :).Just copy and paste this file and called it index.php to see the result. This will totally help you!

    <?php
    
      $data = array();
       if(isset($_POST['myArray']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH'])){
       $data = 'You array is: ' . $_POST['myArray'];       
       echo json_encode($data);  
       die();      
       }
    ?>
     <html>
     <head>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    </head>
    
    <body>
    <div id = "random"></div>
    
    <script type = "text/javascript">
    
    $(document).ready(function() {
    
    var arr = [2,4,5,6,7];
    var myArray =  JSON.stringify(arr);
    
    $.ajax({
        url: "index.php",
        method: "POST",
        dataType: "json",
        data: {myArray: myArray},
        success: function (result) {
        alert("result: " + result);
        console.log(result);
      $("#random").html(result);
     }
    });
    
    });
    
    </script>
    
    </body>
    </html>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站