繁体   English   中英

变量未通过 ajax 从 javascript 传递到 php

[英]variable is not passing from javascript to php through ajax

我有一个代码应该将所有选中列表的值传递给一个 php 文件,以便删除 csv 文件的行。 所以复选框值是动态的

<tr><td><span class="custom-checkbox"><input type="checkbox" class="checkbox" id="checkbox"'+count+'" name="options[]" value="'+count+'"><label for="checkbox1"></label></span></td>';

并且我必须获取选中复选框的所有值,所以我使用了 javascript 并且此 javascript 将通过 ajax 将值传递给 PHP

<script type="text/javascript">
    $( document ).ready(function() {
        $( ".button1" ).click(function() {
            var val = [];
            $("input:checked").each(function (index,value) {
                    val[index] = this.value;
            });

            var myJSONText = JSON.stringify(val);
            $.ajax({
                data: {'kvcArray': myJSONText},
                url: 'Index.php',
                type: 'POST',
                success: function(result) {
                    // alert(data);
                }
            });
        });
    });
</script>

所以它必须将值传递给同一页面(Index.php)并且 PHP 代码是'

<?php
    if (isset($_POST['kvcArray'])) {
        echo "<pre>";
        echo "<script>console.log('Debug Objects' );</script>";
        var_dump(json_decode($_POST['kvcArray'], true));
        echo "</pre>";
        die();
    }
?>

但它没有发布价值。 直到 Javascript 代码一切正常(我做了一个警报来检查数据是否被获取)但该值没有在 PHP 中发布,

我认为问题在于设置的复选框。 尽管如此,它现在正在工作。 所有被检查的值都正确通过,可以通过取消注释 php 代码中的行来检查。

HTML:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>

<table>
<tr>
  <td>
    <span class="custom-checkbox">
    <input type="checkbox" class="checkbox" id="checkbox1" name="options1[]">
    <input type="checkbox" class="checkbox" id="checkbox2" name="options2[]">
    <input type="checkbox" class="checkbox" id="checkbox3" name="options3[]">
        <label for="checkbox1"></label>
    </span>
    <button class="button1">Submit</button>
  </td>
</tr>
</table>

<script type="text/javascript">
    $( document ).ready(function() {
        $( ".button1" ).click(function() {
            var val = [];

            //Fetch all checked values 
            $("input:checked").each(function (index,value) {
                val[index] = this.value;
            });
            
             
            var myJSONText = JSON.stringify(val);
            $.ajax({
                data: {'kvcArray': myJSONText},
                url: 'test.php',
                type: 'POST',
                success: function(result) {
                    alert(result);
                }
            });
        });
    });
</script>

</body>
</html>

PHP代码:

<?php
    //To Test the incoming values just uncomment these lines below.
    // print_r($_POST);
    // die();

    /*Check if form value is set*/ 
    if (isset($_POST['kvcArray'])) {
        // Pass the value to ajax success method
        echo $_POST['kvcArray'];
        die();
    }
    /*-------------------------*/ 
?>

暂无
暂无

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

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