Javascript php响应变得非常慢(使用mysql)
我正在开发一个仪表板,它还有一个通知,所以我计划使用ajax、php、mysql进行实时通知 这是我在index.php上的javascript代码:Javascript php响应变得非常慢(使用mysql),javascript,php,mysql,ajax,mysqli,Javascript,Php,Mysql,Ajax,Mysqli,我正在开发一个仪表板,它还有一个通知,所以我计划使用ajax、php、mysql进行实时通知 这是我在index.php上的javascript代码: comres = { connect: function() { return $.ajax({ url: 'read_notif
comres = {
connect: function() {
return $.ajax({
url: 'read_notification.php',
type: 'POST',
success: function(evt, request) {
alert(evt);
},
complete: function() {
comres.connect();
}
});
}
}
$(document).ready(function() {
comres.connect();
});
下面是我的read_notification.php
<?php
require_once("db.php");
$query=mysqli_query($db,"select * from notifications");
while(mysqli_num_rows($query) < 1)
{
}
$query1 = mysqli_query($db,"select * from notifications");
$row = mysqli_fetch_array($query1);
$id=$row['id'];
$notification=$row['notification'];
echo "you have a notification ".$notification
mysqli_query($db,"delete from ticket.handover_response where id='$id'");
?>
下面是工作流程
当加载index.php时,javascript调用read_notification.php
read_notification.php使用while循环触发对数据库的查询,while loop continuous数据库在通知表中仍然有任何一个条目
当数据库表有一个条目时,while循环get失败,响应返回index.php
这里的工作流程没有问题,但我在数据库上有记录后有一个延迟。PHP没有突然从数据库中读取,它在几秒钟后工作,请建议原因或解决方案,谢谢
$(document).ready(function() {
setInterval(function(){
//set up an ajax request every 2 sec
comres.connect();
},2000);
});
在您的php中,只需根据某个标志变量显示新通知。也就是说,如果用户单击通知,请将标志设置为一,否则将其标记为零。了解代码格式以及堆栈溢出标记是否安装了xdebug之类的调试器?为什么要完整地再次调用comres.connect?试着摆脱它,看看它是否有效。与其在php上使用while循环,为什么不使用jquery定时器并发送ajax请求来获取NotiAction。如果我将ajax设置为获取nofication的时间间隔,它会频繁地发送请求,但在当前模式下,当前请求仍在等待响应,之后,它将重新连接到以进行下一次响应