我正在尝试检查来自PHP的两个相同的背靠背调用DB是否返回相同的数据,
我在javascript中有一个setTimeoutFunction,它调用服务器上的一个函数来调用数据库,粗略的结构就是这样的
function getOnlineUsers(){
ajaxCall({type:'get',method:'getOnlineUsersDB'},getOnlineUsersCallBack);
setTimeOut(1000);
}
function getOnlineUsersCallBack(jsonObj){
//do something online only if 'jsonObj' is different from last jsonObj
}
PHP中的服务器端功能
$cacheData; // variable to cache data from previous calls to the DB
function getOnlineUserDB(){
$sql="select onlineusers from someTable ";
$data=getFromDbAndCastArray($sql);
if($data!=$cacheData){
$cacheData=$data;
return json_encode($data); //something new is returned since the last time
}
else {
return false;
}
}
如果收到的数据在后续调用之间相同,我基本上不想将callBack运行到Ajax调用。 我尝试通过尝试在php中的全局变量中缓存数据但尝试失败。
我也可以尝试在前端检查这个,但不确定哪种方法最好。
感谢。
答案 0 :(得分:0)
您可以尝试以下方法