本文用戶登錄的簡單點贊功能,主要使用了Ajax,配置

2023-11-11    分類: 網(wǎng)站建設(shè)

本文基于簡單的like函數(shù),無需用戶登錄,主要使用Ajax,

配置

$ composer require predis/predis

'redis' => [
    'client' => 'predis',
    'cluster' => false,
    'default' => [
        'host' => env('REDIS_HOST', 'localhost'),
        'password' => env('REDIS_pASSWORD', null),
        'port' => env('REDIS_pORT', 6379),
        'database' => 0,
    ],
],

注意:如果系統(tǒng)是用pecl下載的,那么上面配置中對應(yīng)的值要改成。如果不是本地環(huán)境添加,作者不會報錯。當(dāng)然,還是要看個人本地或者生產(chǎn)環(huán)境的配置。

use Illuminate\Support\Facades\Redis;

您可以查看手冊以了解如何使用它。

點贊的基本原理和實現(xiàn)思路

原理:用戶點贊后,會通過ajax向后臺發(fā)起請求,后臺先檢查用戶是否點贊了(取key值,喜歡為1,不點贊是0).返回對應(yīng)的狀態(tài)碼對于js.bTW,如果添加用戶登錄等,那么當(dāng)前用戶喜歡后會生成一個直接判斷用戶是否已經(jīng)喜歡過,不需要后臺查詢數(shù)據(jù)庫,提高響應(yīng)速度。

實現(xiàn)思路:在點贊頁面的控制器中將當(dāng)前點贊狀態(tài)綁定到視圖php點贊功能實現(xiàn)php點贊功能實現(xiàn),通過視圖中的js監(jiān)控點贊按鈕。點擊后會訪問后臺邏輯頁面進行邏輯處理。

class IndexController extends Controller
{
    public function index() 
    {
        $allClick = Redis::get("click");
        return view('index',['click' => $allClick]);
    }
    public function isLike()
    {
        $click = Redis::get("click");
        if($click) {
            Redis::set("click",0);
            return ['status' => 0,'msg' => '取消點贊','count' => 0];
        } else {
            Redis::set("click",1);
            return ['status' => 1,'msg' => '點贊成功','count' => 1];
        }
    }

需要注意的是,如果代碼中使用了$.post,可能會出現(xiàn)[%]之類的錯誤。

文章名稱:本文用戶登錄的簡單點贊功能,主要使用了Ajax,配置
分享URL:http://muchs.cn/news47/293797.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、ChatGPT、Google、網(wǎng)站維護、網(wǎng)站設(shè)計動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計