重新加载 AJAX 页面


AJAX page reload

>我正在创建一个论坛,发布用户可以在其中选择删除自己的帖子。因此,我正在使用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']."&nbsp&nbsp&nbsp&nbsp";
    if($username==$row['user']){
        echo "<a href='classwall.php' onclick='deletepost(".$row['id'].")' >DELETE POST</a>&nbsp&nbsp&nbsp";
    }

如果任何括号不匹配,请忽略,因为这只是代码的一部分。


单击删除链接后调用的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>&nbsp&nbsp&nbsp";

echo "<a href='javascript:void(0);' onclick='deletepost(".$row['id'].")' >DELETE POST</a>&nbsp&nbsp&nbsp";