我对这部分代码有一些问题:
<script>
function komenty(photoid) {
var xmlhttp=new window.XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var x = xmlhttp.responseText;
$.post('main.php', {x: "foo"});
}
}
xmlhttp.open("GET", "comments.php?id=" + photoid, true);
xmlhttp.send();
}
</script>
我正在尝试将此变量发送到我的php脚本,该页面是main.php responseText不为空,其中有很少的字符串。 但在我的PHP脚本中,它表示&#34;变量x未定义&#34;
<?php
echo "<a href='#' class='my-button' onclick='komenty(".$photoid.")'>komentarze</a>";
$x = $_POST['x'];
echo $x;
?>
我不确定我是否清楚地了解jquery手册
答案 0 :(得分:1)
您应该为AJAX调用使用不同的脚本,而不是显示主页面。或者main.php
脚本需要检查是否使用GET
或POST
来调用它。
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Respond to AJAX call
$x = $_POST['x'];
echo $x;
} else {
// Display normal HTML
echo "<a href='#' class='my-button' onclick='komenty(".$photoid.")'>komentarze</a>";
}