【问题标题】:How to can I print an array transferred from javascript to php from $_POST如何打印从 $_POST 从 javascript 传输到 php 的数组
【发布时间】:2019-07-12 00:23:18
【问题描述】:

我正在尝试将 javascript 数组传输到 php 数组,并在我的 php 文件中使用了以下代码:

    var rowArr=[];
    var currow=$(this.closest('tr'));
    var col1=currow.find('td:eq(0)').text();
    rowArr.push(col1);
    var col2=currow.find('td:eq(1)').text();
    rowArr.push(col2);
    var col3=currow.find('td:eq(2)').text();
    rowArr.push(col3);
    var myJSONText = JSON.stringify( rowArr );

   $.ajax({ 
        type: "POST", 
        url: "jsonRecieve.php", 
        data: { emps : myJSONText}, 
        success: function() { 
        alert("Success"); 
    } 
 }); 

所以当我运行此代码时,我会收到成功警报,但我没有看到任何数组元素被打印出来。我也没有收到任何错误消息。这是我的 jsonRecieve.php

<?php
   $rowAr=$_POST['emps'];
   print_r($rowAr);
?>

有没有办法验证它已被转移?我不相信它有,但如果没有,有人可以帮忙吗?

【问题讨论】:

    标签: javascript php arrays ajax post


    【解决方案1】:

    似乎您需要使用 json_decode() 解码 json 字符串以在服务器端获取您的 emps 值,并提醒服务器响应需要从服务器发送一些内容。让我们这样调试-

    在 JS 上

    $.ajax({ 
            type: "POST", 
            url: "jsonRecieve.php", 
            data: { emps : myJSONText}, 
            success: function(data) {     
            alert(data);  // alert your data to see that returns from server
        }
    

    在 PHP 上

    <?php
       $rowAr=$_POST['emps'];
       $array = json_decode($rowAr,1); // 2nd params 1 means decode as an array
       print_r($array);
       die('response from the server');
    ?>
    

    【讨论】:

    • 所以我通过您的编辑将其打印出来,谢谢。但是当它这样做时,是否意味着该数组现在保存在 $_POST['emps'] 下?因为我想用 php 中的数组信息填写表单输入框,当我尝试用 $_POST['emps'] 在我的 php 文件中初始化一个数组时,它说它是一个未定义的索引
    • 还有在 url 下的 ajax 函数中,是必须要发送到单独的 php 文件中还是可以在同一个文件中发送?
    • 是的,您可以在将它们传递给您的 php 文件之前使用 serializeArray 获取表单输入值,看看这里gomakethings.com/getting-an-array-of-form-data-with-vanilla-js 同样的文件也可以完成您的工作。无需使用另一个 php 文件
    • 不,我的意思是我喜欢使用已转换为 php 的 javascript 数组用作表单的占位符。我该怎么做?
    猜你喜欢
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    相关资源
    最近更新 更多