>我正在创建一个论坛,发布用户可以在其中选择删除自己的帖子。因此,我正在使用ajax发送get请求以删除特定帖子,并且我正在回显null代替已删除的帖子。这里的问题是帖子被删除,但页面在删除后重新加载,这不应该发生,因为我正在使用 ajax 请求。谁能帮忙?
PHP代码显示帖子(仅一部分)
$sql = "SELECT * FROM classposts where branch='$branch' and joindate='$year' and class='$class' order by".$orderby." desc";
$result = $connection->query($sql);
if(isset($_SESSION['username'])){
$username=$_SESSION['username'];
}
while($row = $result->fetch_assoc()) {
echo "<span id='postspan".$row['id']."' name='postspan".$row['id']."' >";
echo "<span id='editspan".$row['id']."' name='editspan".$row['id']."' >";
echo "-----------------------------------</br>";
echo "-----------------------------------</br>";
echo "Posted By: ".$row['user']."    ";
if($username==$row['user']){
echo "<a href='classwall.php' onclick='deletepost(".$row['id'].")' >DELETE POST</a>   ";
}
如果任何括号不匹配,请忽略,因为这只是代码的一部分。
单击删除链接后调用的JavaScript函数
function deletepost(postid){
var r=confirm("Are you sure you want to delete the post?");
if(r==true){
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("postspan"+postid).innerHTML=xmlhttp.responseText;
}
};
xmlhttp.open("GET","deletepost.php?pid="+postid,true);
xmlhttp.send();
}else{}
}
删除帖子.php页面
$pid=$_GET['pid'];
$query="delete from dubiousposts where id='$pid'";
$sql=mysqli_query($connection,$query);
$query="delete from genuineposts where id='$pid'";
$sql=mysqli_query($connection,$query);
$query="delete from posts where id='$pid'";
$sql=mysqli_query($connection,$query);
if($result=mysqli_fetch_array($sql)){
echo "";
}
你已经给了 ahref 链接到 calsswall.php 页面,这就是你转到其他页面的原因。
改变
echo "<a href='classwall.php' onclick='deletepost(".$row['id'].")' >DELETE POST</a>   ";
自
echo "<a href='javascript:void(0);' onclick='deletepost(".$row['id'].")' >DELETE POST</a>   ";