PHP使用AJax轮询实现新订单实时提醒
2024-09-07 20:01:01
业务逻辑:Ajax每隔10秒钟请求一次接口,该接口会去查询数据库是否有新的订单,如果有则返回新订单的数量,后台收到声音提示,更改后台提醒数量
提醒框可链接到订单列表,后台更改完订单状态后会提醒会消失
此逻辑同样可用于实现后台通知功能,用定时任务也可以实现
1、JS代码
<audio id="mp3" src="/admin/mp3/remind.mp3"> </audio>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
var remind = 1;
var mp3 = $("#mp3")[0];
var play= 0; if(sessionStorage.num){
$(".remind").text(sessionStorage.num);
} $.ajax({
url:"/sendOrderNotice",
success:function (data) {
sessionStorage.num = data;
$(".remind").text(data);
remind = data;play=data;
remind<=0?$(".remind").hide():$(".remind").show(); }
}) setInterval(function () {
$.ajax({
url:"/sendOrderNotice",
success:function (data) {
remind = data;
sessionStorage.num = data;
if(play==remind){
remind<=0?$(".remind").hide():$(".remind").show()
}else{
$(".remind").show().text(remind);
mp3.play();
play=remind;
}
}
})
},10000)
</script>
2、php接口
/**
* 订单提醒
*/
public function sendOrderNotice(){
//查询order表是否有新订单
$NewOderCount=Order::getNewOderCount();
if ($NewOderCount) {
echo json_encode($NewOderCount);
} else {
echo 0;
}
}
最新文章
- CocoaPods的使用及安装
- mvc5+ef6+Bootstrap 项目心得--WebGrid
- C++面试之GetMemory问题
- Asp.Net Web API 2第十六课——Parameter Binding in ASP.NET Web API(参数绑定)
- [redis] 普通 RedisPool 的 CRUD 实现
- vasprintf的实现
- Java实现中文字符串的排序功能
- css(四)-- 盒子模型和定位
- 201521123020 《Java程序设计》第7周学习总结
- 使用git指令下载github仓库代码(笔记)
- “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift
- BBS论坛(三十)
- oracle删除当前用户以及当前用户所有表、索引等操作
- springcloud-知识点总结(三):Hystrix &; Dashboard &; turbine &; Zuul &; SpringCloud Config
- 清理 Xcode 10 记录
- 重装windows导致grub损坏
- Codeforces 639B——Bear and Forgotten Tree 3——————【构造、树】
- [bzoj2733]永无乡&;&;[bzoj3545]Peaks
- Openldap- 大机群身份验证服务
- 统计分析表的存储过程遇ORA-00600错误分析与处理
热门文章
- 调试bug 技巧
- java 中实体Bean和Map互相转化
- CC3200在AP模式的TCP sock作为客户端连接时返回SL_ECONNREFUSED(-111) Connection refused
- Visual Studio 2017 的 JavaScript 调试功能的关闭
- 《Cracking the Coding Interview》——第2章:链表——题目4
- 命名空间“System.Web.Http”中不存在类型或命名空间名称“Description”(是否缺少程序集引用?)
- Percona-Tookit工具包之pt-slave-restart
- CSS UNIT 详解以及最佳实践
- Windows下python 3 pip程序升级异常问题及pip常用命令
- ASP.NET Core ---异常处理