无法将javascript变量传递给php变量

时间:2017-11-03 18:41:16

标签: javascript php ajax

我尝试了所有关于此的stackoverflow帖子,我花了两天时间仍然没有成功,我试图将JavaScript变量传递给PHP变量,我试过this例如仍然没有成功,它确实不打印在屏幕上注明,这是一个完整的代码:

此处cc.html

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

        <script>
            $(document).ready(function(){
                //treehouse code
                var $my_variable = "something";
                $.ajax({
                    url: 'cc.php',
                    data: {x: $my_variable},
                    type: 'POST'
                });
            });
        </script>
    </body>
</html>

cc.php

<?php
if(isset($_POST['x'])){
    echo $_POST['x'];
}
?>

我该怎么办?

3 个答案:

答案 0 :(得分:3)

您不会对AJAX调用的结果做任何事情。添加回调函数:

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

        <script>
            $(document).ready(function(){
                //treehouse code
                var $my_variable = "something";
                $.ajax({
                    url: 'cc.php',
                    data: {x: $my_variable},
                    type: 'POST'
                }).done(function (result) {
                    alert(result);  // <--- do something with the result
                });
            });
        </script>
    </body>
</html>

您的PHP代码保持不变:

<?php
if(isset($_POST['x'])){
    echo $_POST['x'];
}
?>

您在回调函数中的内容取决于您。您可以alert()该值,将其记录到控制台,将其写在页面上的某个位置等。

答案 1 :(得分:0)

如果你想在屏幕上打印它,你应该使用success: function(data)$('#result').html(data)}这里是代码示例:

        

            $(document).ready(function() {
                $('#sub').click(function() {
                    var $my_variable = "something";
                    $.ajax({
                        url: 'cc.php',
                        type: 'POST',
                        data: { x: $my_variable },
                        success: function(data) {
                            $('#result').html(data)
                        }
                    });
                });
            });

答案 2 :(得分:-1)

您也可以尝试$.post

$.post( "cc.php", { x: $my_variable} );