更新PHP页面而不刷新

时间:2016-07-19 19:13:33

标签: javascript php html ajax web

我有一个div,它显示包含“喜欢”和“不喜欢”按钮的锚标签的文章。我想在某些点击喜欢或不喜欢的情况下更新div,而无需刷新整个页面。这是div

#Print out article and display information
echo "<article style='border: 2px solid #10466C;' class='topContent'>
        <header>
            <a class='article_title' href='article.php?article=$id'><h3>$title</h3></a>
        </header>

        <p class='date-author'>Date: $date <br /> Author: <span style='color: #10466C;'>$author </span> | Catagory: <a href='#'>$catagory</a> | Writer Level: $level<br />
        Comments: ($cmt_total) </p>

        <content>
            <img class='article-image' src='$image' />

            <div style = 'float: left; margin-left: 3%; width: 45%;'>
            <div class='like_box'>
               <a href='vote.php?vote=like&title=$title'><img src='img/like.png' class='vote'></a><p class='vote_text'>$like_num</p>
               <p style='color: #fff;'>$like_username</p>
            </div>

            <div class='dislike_box'>
                <a href='vote.php?vote=dislike&title=$title'><img src='img/dislike.png' class='vote'></a><p class='vote_text'>$dislike_num</p>
                <p style='color: #EC2800;'>$dislike_username</p>
            </div>

    </div>

    <div style='display: inline-block; margin-top: 10px;'>
        $text<a href='article.php?article=$title'><b>read more</b></a>
    </div>

</content>
<br />
<br />

</article> ";

}

如果您查看名为“like_box”和“dislike_box”的div,您可以在PHP脚本中喜欢的锚标记内看到。

我的问题是如何运行该脚本而不必刷新页面并使用标头标签重定向。我们非常感谢您提供任何帮助,我愿意提供您可能需要的任何额外信息。我已经尝试了很多方法,我知道它需要AJAX或JavaScript,这对我来说无关紧要。

感谢。

1 个答案:

答案 0 :(得分:2)

更严重的是,回应;

  

如果有人可能会写出一些伪代码或者会显示如何执行此操作的内容?

问题(很高兴能够进一步提供帮助,但我认为这可能会帮助您指出正确的方向):

您需要设置一个触发点击的触发器;

<div class='dislike_box'>
    <a data-dislike="<?php echo $id; ?>">
         ...
    </a>
</div>

然后用js接受;

document.querySelectorAll('a[data-dislike]').onclick = function() {
    // make an ajax call to your like/dislike script
    // and on success change the DOM somehow
};

然后在您的(可能是PHP)脚本中,当您进行// make an ajax call to your like/dislike script&#34;调用&#34;您需要接收变量(通过ajax调用发送并在您的脚本中选择,例如data-like / data-dislike attr或类似内容中的内容)

然后,当您从ajax调用中获取这些变量并在PHP脚本中获取它们时,您可以执行数据库更新并返回一些内容(可能是JSON),告诉客户端脚本&#34;如何&#34;根据您从ajax调用收到的内容更新DOM。

如果这根本没有意义,请告诉我。