Ajax实现无刷新文章点赞功能

  要实现无刷新的文章点赞功能,可以使用 Ajax 技术。以下是一个简单的例子,演示了如何使用 Ajax 在不刷新页面的情况下处理文章点赞:

  HTML 页面:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Article Like Example</title>
  <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
</head>
<body>

<!-- 显示文章内容 -->
<div id="articleContent">
  <h2>Article Title</h2>
  <p>This is the content of the article.</p>
  <button id="likeButton" onclick="likeArticle()">Like</button>
  <span id="likeCount">0</span> Likes
</div>

<script>
// 点赞文章的函数
function likeArticle() {
  // 获取文章 ID,这里假设文章 ID 为 1
  var articleId = 1;

  // 发送 Ajax 请求
  $.ajax({
    type: 'POST',
    url: 'like_article.php', // 替换为实际的服务器端处理脚本
    data: { article_id: articleId },
    success: function(response) {
      // 更新页面上的点赞数
      $('#likeCount').text(response);
    },
    error: function(error) {
      console.error('Error liking article: ', error);
    }
  });
}
</script>

</body>
</html>

  PHP 服务器端处理脚本(like_article.php):

<?php
// 连接数据库,替换为实际的数据库连接信息
$servername = "your_server_name";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";

$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 获取文章 ID
$articleId = $_POST['article_id'];

// 更新数据库中的点赞数
$sql = "UPDATE articles SET like_count = like_count + 1 WHERE id = $articleId";
$conn->query($sql);

// 获取更新后的点赞数并返回
$sql = "SELECT like_count FROM articles WHERE id = $articleId";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    $row = $result->fetch_assoc();
    echo $row['like_count'];
} else {
    echo "0";
}

$conn->close();

本站原创内容,如需转载请注明来源:https://www.liutonghui.com/176.html

上一篇 2019-08-19
下一篇 2019-10-02

评论列表(0条)

  • 暂时没有评论!

发表评论

captcha

相关推荐

  • ajax实现无刷新省市县三级联动

      实现无刷新的省市县三级联动可以使用 Ajax 技术,通过前端 JavaScript 发送异步请求,从后端获取数据并动态更新页面内容。以下是一个简单的例子,假设你已经有一个包含省市县数据的数据库。   数据库表结构   假设有三个表:provinces、cities、counties 分别存储省、市、县的数据。 CREATE TABLE provinces ( id INT PRIMARY KEY AUTO_INCREMENT......

    2016-08-08
    16810
  • jQuery Ajax实现批量删除数据

      在 jQuery 中使用 Ajax 实现批量删除的基本思路如下:   在前端,使用 jQuery 监听&ldquo;批量删除&rdquo;按钮的点击事件,收集用户选择的要删除的项目的标识(例如,ID)。   使用 Ajax 发送异步请求到后端,将要删除的项目标识传递给服务器。   在后端,接收到请求后,根据接收到的项目标识进行删除操作,并返回相应的结果给前端。   以下是一个简单的示例代码:   HTML &lt;!DOCTYPE ......

    2015-06-15
    17190
  • HTML中CSS和JS链接中的版本号

      在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量。   现在问题来了,.htaccess设置的css、js缓存都有一个过期时间,如果在访客的浏览器中已经缓存了......

    2013-10-10
    19470
  • JavaScript正则表达式验证身份证号码是否合法

      正则表达式(regular expression)是一个描述字符模式的对象。下面通过本篇文章给大家介绍js正则表达式验证身份证号码是否合法,需要的朋友可以参考下本篇文章   第一种方法:   在用户注册页面有些需求要求的比较严格,需要对身份证js验证是否合法,通过此功能严格此系统软件,从而过滤到很多水客。下面就此实现方法给大家讲解下。   很多时候我们都是通过一组正则表达式来判断用户输入的身份证是否合法,那在用正则表达式判断之前,你......

    2015-09-05
    16860
  • 华为Mate60手机开售,麒麟5G芯片回归,遥遥领先!

      没开发布会,没有预告就直接开卖备受关注的旗舰手机,华为Mate60系列算是开了个头。这几天华为登上了热搜,这次是因为华为Mate60手机携带&ldquo;麒麟芯片&rdquo;提前开售,瞬间售罄,同时也标志着麒麟5G芯片的正式回归。这一消息在各大主流媒体平台上迅速引发热议,网友们纷纷发表意见,自媒体人也争相蹭热度,提出各自观点。   如果你打开华为商城app,可以看到华为已经在自家商城上架了华为Mate60系列手机,而这些手机已经......

    2023-08-31
    7570
  • Ajax实现页面无刷新添加数据

      使用 Ajax 可以实现页面无刷新添加数据。Ajax(Asynchronous JavaScript and XML)是一种在不重新加载整个页面的情况下与服务器进行通信的技术。以下是一个简单的例子,演示了如何使用 Ajax 在页面中添加数据而不刷新整个页面。 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Ajax添加数据示例&lt;/ti......

    2020-04-16
    15650
  • PHP使用内置函数处理JSON数据

      JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,通常用于在前端和后端之间传递数据。在PHP中,你可以使用内置的函数来处理JSON数据,实现数据的编码和解码。   以下是PHP中JSON的一些常见应用:   1. 编码(PHP对象转为JSON字符串)   使用 json_encode() 函数可以将PHP对象转换为JSON格式的字符串: $data = array( 'name' =......

    2013-10-09
    11510
  • PHP类的自动加载机制实现方法

      PHP的自动加载机制允许你在需要时自动加载所需的类文件,而无需手动包含或引入每个文件。PHP提供了 spl_autoload_register() 函数来实现自动加载机制。   以下是实现PHP类自动加载机制的步骤: &lt;?php // 自定义的自动加载函数 function my_autoloader($class) { include 'classes/' . $class . '.class.php'; } //......

    2019-03-14
    19180