當我們遇到訊息推播功能要如何開發呢?
一、ajax輪詢,定時去請求伺服器資料 (建議學習:PHP視訊教學)
透過觀察thinkphp官網貌似也是用的這個方法,下邊將此方法整理一下:
Notify.php //获取通知消息 public function getNotifyCount() { $msg = db('message_logs')->where('isscan',0)->count(); RestfulTools::restData($msg); //这里是封装好的json_encode方法 }
notify.js <span class="am-icon-envelope-o"></span> 消息 <span class="am-badge am-badge-warning" id="msgCount"> {$msgCount} //这是是通过tp的 assign方法分配过来的变量,作为初始值 </span> <script type="text/javascript"> var getting = { url:"{:url('Notify/getNotifyCount')}", dataType:'json', success:function(res) { console.log(res); var msgCount = res.result; $("#msgCount").html(msgCount); //用js的 html方法去改变id为msgCount的值 } }; //Ajax定时访问服务端,这里是3分钟请求一次。 window.setInterval(function(){ $.ajax(getting) },180000); </script>
以上是php如何實現訊息推送的詳細內容。更多資訊請關注PHP中文網其他相關文章!