中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery+ThinkPHP+Ajax如何實現即時消息提醒功能

發布時間:2021-05-18 13:51:34 來源:億速云 閱讀:276 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關jQuery+ThinkPHP+Ajax如何實現即時消息提醒功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

心血來潮想為自己的小項目做一個提醒系統,譬如私信,評論等消息都能及時傳遞過來。由于道行尚淺,網上那些長輪詢對于我略微復雜,于是覺得還是自己寫一寫試試比較好。

我的思路是,單獨在數據庫中建一個提醒表,表主要由接收者的id和消息類型兩個字段組成

/* 前臺提醒表 */
CREATE TABLE IF NOT EXISTS notification(
  id      INT NOT NULL AUTO_INCREMENT PRIMARY KEY,  --  主鍵自增
  mid     INT NOT NULL DEFAULT 0,            --  用戶id
  type    INT NOT NULL DEFAULT 0            -- 0:私信 1:帖子評論 2:商品售出 3:商品評論 4:小組申請已發送 5:小組創建成功 6:小組新成員加入 7:小組舊成員退出 8:活動邀請
)ENGINE=MyISAM DEFAULT CHARSET=UTF8;

然后在前臺頁面中寫一個遞歸函數,用來請求Ajax。

function require() {
   var url = "{U('Group/checkNotify')}";
      
   $.get(url,null,function(data) {
          
      // 如果獲得的數據不為空,則顯示提醒
      if ($.trim(data) != '') {
        // 這里寫提醒的方式
        alert('haha');
      }
   });
   // 每三秒請求一次
   setTimeout('require()',3000);
}

在后臺查詢三秒前到當前時刻數據庫中是否有數據插入,如果有,則返回所需要的信息

public function checkNotify() {
  // 實例化自定義的模型類
  $Notify = D("Notification");
  // 獲取當前用戶的id
  $mid = $_SESSION['member']['id'];
  // 由于Ajax三秒鐘才執行一次,所以新數據的插入時間要晚于查詢的的請求時間(當前時間)三秒鐘
  $time = time() - 3;
  // 準備查詢條件
  $where = "mid = $mid and created>$time";
   // 查找數據庫中是否有新數據插入
  $bool = $Notify->where($where)->find();
  // 如果查詢結果非空,則輸出結果集第零條數據的type參數,即提醒類型,然后再從數據庫對應表中獲取提醒內容
  //本測試默認3秒中內只有一條消息,如果想更加精確,也可以縮短請求時間
  if ($bool != null) {
    //測試數據     
    echo $bool[0]['type'];
  };
}

當然,要讓文檔載入完畢后就執行該函數

<body onload="javascript:return require();">

thinkphp是什么

thinkphp屬于一種免費的開發框架,能夠用于開發前端網頁,最早thinkphp是為了簡化開發而產生的,thinkphp同時也是遵循Apache2協議,最初是從Struts演變過來,也把國外一些好的框架模式進行利用,使用面向對象的開發結構,兼容了很多標簽庫等模式,它能夠更方便和快捷的開發和部署應用,當然不僅僅是企業級應用,任何php應用開發都可以從thinkphp的簡單、兼容和快速的特性中受益。

關于“jQuery+ThinkPHP+Ajax如何實現即時消息提醒功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衡山县| 大同县| 阿图什市| 墨竹工卡县| 甘洛县| 文昌市| 宝鸡市| 兴化市| 凌源市| 井研县| 长沙县| 汉阴县| 丽水市| 白水县| 平泉县| 德清县| 云梦县| 大厂| 普定县| 右玉县| 隆德县| 西乌珠穆沁旗| 筠连县| 子洲县| 陆川县| 古丈县| 衡阳市| 禹城市| 锦州市| 措勤县| 正阳县| 高淳县| 长白| 鄄城县| 二连浩特市| 乐亭县| 武宣县| 池州市| 古蔺县| 松溪县| 湟中县|