thinkphp快速實現一個基于Ajax的點贊功能

隨著互聯網的迅速發展,web應用程序的用戶體驗成為了越來越重要的因素。使用ajax技術實現點贊功能是常見的一種方式。本文將介紹如何使用thinkphp框架快速實現一個基于ajax的點贊功能。

一、開發環境準備

本文使用thinkphp5.1框架,需要安裝PHP5.5以上版本和mysql數據庫,并確保環境可以運行ThinkPHP。

二、創建數據庫表

在MySQL中創建以下表格:

立即學習PHP免費學習筆記(深入)”;

CREATE TABLE `likes` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `content_id` int(11) NOT NULL COMMENT '點贊的文章id',   `user_id` int(11) NOT NULL COMMENT '點贊的用戶id',   `created_time` int(11) NOT NULL DEFAULT '0' COMMENT '點贊時間戳',   `updated_time` int(11) NOT NULL DEFAULT '0' COMMENT '更新時間戳',   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

三、Controller層

創建一個LikesController.php控制器,使用如下代碼獲取Ajax請求:

namespace appindexcontroller;  use thinkController; use thinkDb;  class LikesController extends Controller {     public function like()     {         $content_id = input('post.content_id');         $user_id = input('post.user_id');         $created_time = time();         $updated_time = time();         $data = [             'content_id' => $content_id,             'user_id' => $user_id,             'created_time' => $created_time,             'updated_time' => $updated_time,         ];         $result = Db::name('likes')->insert($data);         if ($result) {             return json(['code' => 200, 'msg' => '點贊成功']);         } else {             return json(['code' => 500, 'msg' => '點贊失敗']);         }     } }

四、View層

創建一個index.html前端頁面,使用jquery監聽用戶點擊事件,向服務器發送Ajax請求:

<!DOCTYPE html> <html> <head>     <title>點贊</title>     <meta charset="utf-8">     <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> </head> <body>     <div id="like_button" data-content-id="1" data-user-id="1">點贊</div> </body> <script type="text/javascript">     $(document).ready(function () {         $('#like_button').click(function () {             var content_id = $(this).data('content-id');             var user_id = $(this).data('user-id');             $.ajax({                 url: "/LikesController/like",                 type: "POST",                 dataType: "json",                 data: {"content_id": content_id, "user_id": user_id},                 success: function (data) {                     if (data.code == 200) {                         alert(data.msg);                     } else {                         alert(data.msg);                     }                 }             });         });     }); </script> </html>

五、路由設置

在路由文件(route.php)中增加一個路由:

Route::post('/LikesController/like', 'index/LikesController/like');

六、測試

啟動服務器,訪問http://localhost/index/index/index,點擊點贊即可測試該功能。在MySQL中查看likes表中是否增加記錄,確保點贊成功。

七、總結

通過使用ThinkPHP框架和jQuery技術,實現了一個基于Ajax的點贊功能。該功能能夠提升Web應用程序的用戶體驗,增強用戶與Web應用程序的互動性。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享