ajax的问题。如何将javascript变量转换为php变量?
我想将javascript变量转换为php变量,以便在sql查询中使用它,但它不起作用 html代码:ajax的问题。如何将javascript变量转换为php变量?,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我想将javascript变量转换为php变量,以便在sql查询中使用它,但它不起作用 html代码: <select id = "dep_ID" name = "dep_ID" onchange="myFunction()"> <script> function myFunction(){ var xo = document.getElementById("dep_ID").value; document.getElement
<select id = "dep_ID" name = "dep_ID" onchange="myFunction()">
<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>
<?php
$duration = $_POST['xo'];
return $duration ;
?>
同一文件中的javascript代码:
<select id = "dep_ID" name = "dep_ID" onchange="myFunction()">
<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>
<?php
$duration = $_POST['xo'];
return $duration ;
?>
函数myFunction(){
var xo=document.getElementById(“dep_ID”).value;
document.getElementById(“demo”).innerHTML=“您选择:”+xo;
$.ajax({
url:'insert.php',
数据:{duration:xo},
键入:“POST”,
成功:功能(数据){
警报(数据);
document.getElementById(“demo”).innerHTML=“您选择:”+;
}
});
}
insert.php代码:
<select id = "dep_ID" name = "dep_ID" onchange="myFunction()">
<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>
<?php
$duration = $_POST['xo'];
return $duration ;
?>
我希望得到dep_ID变量的输出,但什么也得不到。Javascript和PHP systax是不同的。在ajax调用的响应中,您将得到javascript对象。因此,您需要进行如下更改:
document.getElementById("demo").innerHTML = "You selected: " + data.duration;
PHP代码中的$duration变量未在包含javascript的HTML文件中定义 我认为您混淆了html页面生成之前发生的事情,混淆了我呈现的页面和用户选择值时发生的事情,混淆了ajax调用完成并执行insert.php后发生的事情 明确地说,这是:
在浏览器中发生任何事情之前执行,因此$duration未定义。我想您想要的是
$\u POST['duration']
,而不是$\u POST['xo']
。