2017-10-07 185 views
0

我想让我的页面刷新,如果在数据库中的字段更改。页面刷新JS

我可以让JS检查每半秒(调试速度),但它不会更改值而不刷新页面,我应该为此进行什么研究?

 SetInterval(function() { 
      $.get('./include/update.php', function(data) { 
       var d = "<?php echo $pageNumFinal; ?>"; 
       document.getElementById("test").innerHTML = d; 
       if(d !== data) { 
        document.getElementById("test1").innerHTML = data; 
        location.reload(); 
       } 
      }); 
     }, 500); 

update.php

$stmt = $conn->prepare("SELECT pagenum FROM display WHERE id=1"); 
$stmt->execute(); 

$pageNumCount=$stmt->fetch(PDO::FETCH_ASSOC); 

$pageNumFinal = $pageNumCount['pagenum']; 
+0

'location.reload();'告诉浏览器重新加载页面... – JustCarty

+0

是的,但它不是重新加载。 –

回答

2

编辑:更新我的回答如下our conversation in chat

您正在将参数数据传递给匿名函数,但也会声明一个名为data的变量并对它们进行比较。至少更改其中一个名称。

setInterval(function() { 
    $.get('./include/update.php', function(data) { 
     var d = "<?php echo $pageNumFinal; ?>"; 
     document.getElementById("test").innerHTML = data; 

     if (d !== data) { 
      location.reload(); 
     } 
    }); 
}, 500); 

而且,当你设置你试图将其设置为$pageNumFinal这是你在update.php设置一个变量的变量(d)。
确保在包含此脚本的文件中获取当前页码并将其存储在该变量中,该变量将在运行时打印并存储到d中。

+0

谢谢你,这似乎是'document.getElementById(“test”)。innerHTML = data;'搞乱了它。 –

+0

我注意到这似乎是刷新,无论变量具有不同的值或不是,这可以解决吗? –

+0

你可以console.log(d)和console.log(数据)并告诉我结果是什么? – JustCarty