麻烦用ajax。如何将javascript变量转换为php变量?

时间:2019-05-30 13:38:23

标签: javascript php html ajax

我想将javascript变量转换为php变量以在sql查询中使用它,但是它不起作用。

html代码:

<select id = "dep_ID" name = "dep_ID" onchange="myFunction()">

同一文件中的javascript代码:

<script>
    function myFunction(){

        var xo = document.getElementById("dep_ID").value;
        document.getElementById("demo").innerHTML = "You selected: " + xo;

        $.ajax({
            url: 'insert.php',                
            data: {duration: xo},
            type: 'POST',
            success: function(data) {
            alert(data);
            document.getElementById("demo").innerHTML = "You selected: " + <?php echo @$duration;?>;
            }
        });
    }
</script>

insert.php代码:

<?php
$duration = $_POST['xo'];
return $duration ;
?>

我希望得到dep_ID变量的输出,但是我什么也没得到。

2 个答案:

答案 0 :(得分:1)

Javascript和PHP systax不同。在ajax调用的响应中,您将获得javascript对象。因此,您需要进行如下更改:

document.getElementById("demo").innerHTML = "You selected: " + data.duration;

答案 1 :(得分:0)

在包含JavaScript的HTML文件中未定义PHP代码中的

$ duration变量。

我认为您在生成html页面之前会发生什么,当我呈现页面并用户选择一个值时发生了什么,以及在执行ajax调用并执行了insert.php之后发生的事情,这让您感到困惑。

要清楚,这是

在浏览器发生任何事情之前得到执行,因此$ duration是未定义的。