繁体   English   中英

使用 Ajax 将 Javascript 数组发送到 PHP(无法从 PHP 回显数组)

[英]Send Javascript array to PHP using Ajax (can't echo out the array from PHP)

我有一个带有简单按钮的表单。 单击按钮时,将调用函数delete_data() 此函数用数据填充数组。 我想用 Ajax 将此数组发送到 PHP。

问题:当使用event.preventDefault(); 正如您在我的 JavaScript 代码中看到的那样,显示成功警报消息(“OK”),但我没有从我的 php 脚本中获得回声。

你能在下面更正我的代码或告诉我有什么问题吗? 非常感谢!

代码

<form id="form" method="POST"> 
      <button type="button"id="delete" onclick="delete_data();" name="delete"><i class="fa fa-remove" aria-hidden="true"></i> Delete Zone(s)</button>
</form>

JavaScript 代码

function delete_data(){
        
        event.preventDefault();
        
        var checkedIds = $(".chk:checked").map(function() {
            return this.id;
        }).toArray();

        var Arr = JSON.stringify(checkedIds);
        
        $.ajax({
            type: "POST",
            url: "./delete_measurement.php",
            data: {arr: Arr}, 
            cache: false,
            
            success: function(){
                alert("OK");
            }

        });

PHP代码

<?php
include_once("./conn.php");
    
if(isset($_POST['arr'])){ 
    
    $arr = json_decode($_POST['arr']); 
    echo $arr; //can't echo
    
}else{ 
    echo "Failed";
    
}
?>

你看不到回声是合乎逻辑的。 向成功函数添加一个参数,如下所示:

    $.ajax({
        type: "POST",
        url: "./delete_measurement.php",
        data: {arr: Arr}, 
        cache: false,
        
        success: function(data){
            // This will show what you echo in PHP (in the console)
            console.log(data)
            alert("OK");
        }

    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM