首页 > 解决方案 > 如何打印从 $_POST 从 javascript 传输到 php 的数组

问题描述

我正在尝试将 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);
?>

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

标签: javascriptphparraysajaxpost

解决方案


似乎您需要解码 json 字符串以在服务器端json_decode()获取您的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');
?>

推荐阅读