Javascript 将变量从JS传递到PHP时出错

Javascript 将变量从JS传递到PHP时出错,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我知道这个问题已经被回答了一百万次,但是我对这个代码感到绝望 我有两个php文件,我想将一个变量从一个用JS编写的部件发送到另一个php文件。下面是代码: carga_datos.php <script> function MyAlert() { var radio1 = $("input[name='inputTipoActividad']:checked").val(); $.ajax({ u

我知道这个问题已经被回答了一百万次,但是我对这个代码感到绝望

我有两个php文件,我想将一个变量从一个用JS编写的部件发送到另一个php文件。下面是代码:

carga_datos.php

<script>
    function MyAlert() {
            var radio1 = $("input[name='inputTipoActividad']:checked").val();
            $.ajax({
                url : 'post.php',
                type : "POST",
                data: {'radio1' : radio1},
                dataType:'json',
                success : function(data) {

                    alert(data);
                },
            });
        }   
</script>
<?php 
    $radio1 = $_POST['radio1'];
    echo $radio1;
?>

函数MyAlert(){
var radio1=$(“输入[name='inputIPoActividad']:选中”).val();
$.ajax({
url:'post.php',
类型:“POST”,
数据:{'radio1':radio1},
数据类型:'json',
成功:功能(数据){
警报(数据);
},
});
}   
我正在以单选按钮形式调用MyAlert()

post.php

<script>
    function MyAlert() {
            var radio1 = $("input[name='inputTipoActividad']:checked").val();
            $.ajax({
                url : 'post.php',
                type : "POST",
                data: {'radio1' : radio1},
                dataType:'json',
                success : function(data) {

                    alert(data);
                },
            });
        }   
</script>
<?php 
    $radio1 = $_POST['radio1'];
    echo $radio1;
?>

我将post.php调用到carga_datos.php中,如下所示:

这是我正在检索的错误:


注意:>第2行C:\xampp\htdocs\gis\post.php中未定义的索引:radio1

编辑:

您似乎已经使用了数据类型“json”,所以它将使用“json”,如果没有返回,您将得到未定义或空响应

如果删除数据类型:“json”,您应该能够很好地检索数据

    function MyAlert() {
    var radio1 = $("input[name='inputTipoActividad']:checked").val();
    $.ajax({
        url : 'post.php',
        method : "POST",
        data: {"radio1" : radio1},
        success : function(data) {
            console.log(data);
        }
    });
}
如果要检查代码中是否仍有“dataType:'json'”,则需要返回PHP代码,如下所示:

<?php echo json_encode($_POST); ?>
var radio1 = $("input[name='inputTipoActividad']").prop("checked");
这将返回TRUE或FALSE。如果没有错,如果你用

$("input[name='inputTipoActividad']:checked").val()
它将返回“on”或什么都没有(不过这里可能有问题)


使用“.prop”(“checked”)对其进行了测试,结果对我有效。

您是否通过查看浏览器的“网络”选项卡来检查ajax请求中是否确实为请求中的“radio1”发送了任何值?然后,我们可以看到问题是真正的服务器端还是客户端。您是否测试了
var radio1=$(“input[name='inputIPoActividad']:checked”).val()是否正确检索单选按钮的值?在通过AJAX发送之前,请尝试在控制台上记录此信息,以确保已准备好发送。即使变量为null,radio1仍将在
$\u POST
中设置,否?我看到
数据类型
是服务器未发送响应时预期的类型。使用
方法
而不是
类型
来设置HTTP请求类型。请参阅@HimanshuUpadhyay阅读jquery ajax文档。
dataType
设置与响应类型相关。与发送到服务器的内容无关,这就是问题所在<代码>内容类型将影响发送的内容。但是它不是在这里设置的,因此将是默认值,这应该可以。我想获得我的formI的值。如果我更新了我的答案,你需要删除“dataType:json”,除非你用PHP返回json格式。