我有一个名为getlastupdate.php的页面,它保存了最后一个日期&有人更新数据库的时间,当你访问该页面时,你会得到这样的东西:
2013-07-23 10:43:37
我正在尝试做的是当我加载主页面时我希望javascript获取上述日期和时间并将其存储在var中然后使用ajax继续检查页面'getlastupdate.php'的日期/时间并将其与var进行比较,如果日期/时间相同则不做任何事情,但如果它们不是那么警告消息然后将var更新为最后的日期/时间。
以下是我的尝试:
<script type="text/javascript">
var comper;
$.get('getlastupdate.php', function(comperNow) { // comperNow is the latest date/time var
// remember the date/time in var called: comper
comper = comperNow;
}
)
function mycode() {
// keep checking this page for the date/time
$.get('getlastupdate.php', function(comperNow) {
// if comper is not the same as comperNow
if (comper!=comperNow){
// show a message to the visitor
alert('New Info Added');
// and update comper to show the date/time from comperNow
comper = comperNow;
}
}
)
tid = setTimeout(mycode, 2000); // repeat myself
}
function abortTimer() { // to be called when you want to stop the timer
clearTimeout(tid);
}
</script>
感谢!!!
答案 0 :(得分:1)
声明var comper;
全球
像这样:
var comper;
$.get('getlastupdate.php', function(comperNow) { // comperNow is the latest date/time var
// remember the date/time in var called: comper
comper = comperNow;
}
答案 1 :(得分:1)
以下代码为我工作。我认为最大的问题是使用setTimeout而不是setInterval。
var comper;
function checkComper() {
var onResponse = function(comperNow) { // comperNow is the latest date/time var
//check if comper has been set / first time method is called
if (comper === undefined) {
comper = comperNow;
return;
}
if (comper !== comperNow) {
// show a message to the visitor
alert('New Info Added');
// and update comper to show the date/time from comperNow
comper = comperNow;
}
};
$.get('getlastupdate.php', onResponse);
}
var tid = setInterval(checkComper, 2000); // repeat myself