PHP实现消息推送
2024-08-23 20:32:05
我们做web的时候偶尔会遇到消息推送,如图示例(红框位置)
当我们遇到这种功能要如何开发呢?下边将我了解的两种方法整理一下:
一、ajax轮询,定时去请求服务器数据
通过观察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>
二.websocket实时消息推送
这里还没测试,测试完即将完善
最新文章
- 事务隔离级别(IsolationLevel)
- Eclipse智能提示及快捷键
- hdu1260 dp
- bzoj 3172 [Tjoi2013]单词(fail树,DP)
- JavaScript高级程序设计6.pdf
- msxml 操作xml
- python中print后面加逗号
- saltstack:使用教程之二高级模块用法Grains、Pillar
- java_web学习(12)JDBC
- 【原】无脑操作:Gitblit服务器搭建及IDEA整合Git使用
- 【Android Studio安装部署系列】二十四、Android studio中Gradle插件版本和Gradle版本关系
- python常用的内置函数哈哈
- CentOS下软件安装与卸载常用命令总结
- ggplot2画histogram(坐标轴刻度值字体大小,坐标轴标题字体大小,柱形宽度,大标题字体大小、居中)
- 【译】第二篇 SQL Server安全验证
- springboot自带定时任务和集成quartz
- vba基础知识
- 在ros功能包CMakeLists.txt中获取所在功能包的路径 便于添加第三方库的相对路径
- 基于ArduinoLeonardo板子的BadUSB攻击实战
- Mysql学习---面试基础知识点总结