2017-10-07 187 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