【发布时间】:2016-11-20 14:30:06
【问题描述】:
我有一个使用 javascript xmlhttprequest 连接到 PHP 脚本的 Web 应用程序
我正在尝试检查服务器端何时发生变化。
我只能通过每秒向页面发送一个 ping 来检查
javascript
function stayConnected(){
setTimeout(function(){
xmlhttp.send();
},1000);
}
php
<?php
if(update())echo "there's an update";
flush();
?>
这对用户和服务器来说是超级密集的
这样更好吗
javascript
xmlhttp.onreadystatechange = function(){
if(server.xml.readyState == 4 &&
server.xml.status == 200){
doSomething(xmlhttp.responseText);
xmlhttp.send();
}
}
php
<?php
for( $i = 0; i < 120; i++){
if(update()){
echo "there's and update";
break;
}
sleep(1000);
}
flush();
?>
第二种解决方案对查看者来说似乎更好,但它会伤害服务器吗? 我无法很好地检查服务器负载。有没有更好的解决方案?
【问题讨论】:
-
第二个例子不循环
标签: javascript php optimization xmlhttprequest