我尝试了所有关于此的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'];
}
?>
我该怎么办?
答案 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} );