2016-08-04 51 views
0

我想要做的是在我的check.php文件中查詢一個變量,並將該變量拖到我的index.php文件中,將其與另一個變量進行比較,如果它們不匹配,則重新加載頁面。 這是我到目前爲止有:如何從JavaScript文件中獲取一個變量?

check.php:

some query 
echo json_encode($checknew); 

的index.php:

var checkold = "<?php echo $old['ertek'];?>"; 

function checkupdates() { 
    setInterval(function() { 
    $.ajax({ 
     type: 'POST', 
     url: 'check.php', 
     dataType: 'json'}); 

     if (checkold != checknew){ 
      location.reload(); 
     } 
    , 3000)} 
}; 

$(document).ready(checkupdates); 

如何 「捕獲」 從PHP的$ checknew變量,並把它爲我的函數變量?

+1

你沒有正確使用'ajax'電話。需要使用'.done(function(){}'從check.php獲取echo值 –

+0

success:function(){在這裏你可以對你從後端獲得的變量做任何你想做的事情} –

+0

另外,'' var checkold =「<?php echo $ old ['ertek'];?>」;'沒有做你認爲它的事情'checkold'將包含字符串'<?php echo $ old ['ertek'] ;?>'不是'$ old ['ertek']'裏面的值,請查看[Ajax Documentation](http://api.jquery.com/jquery.ajax/) –

回答

2

在你的check.php你迴應json_encode($checknew)。如果只有一個值,請具體說明您正在編寫的內容,然後您可以簡單地編寫echo $checknew;
而JavaScript應該是這樣的

var checkold = "<?php echo $old['ertek'];?>"; 

function checkupdates() { 
    setInterval(function() { 
    $.ajax({ 
     type: 'POST', 
     url: 'check.php', 
     success:function(checknew){ 
      if (checkold != checknew){ 
      location.reload(); 
      } 
     } 
    }); 

    },3000); 
} 

$(document).ready(checkupdates()); 
+0

是的,checknew只有一個值,而不是數組 – phpnoob

+0

只寫'echo $ checknew;':) –

+0

好吧,所以我做了什麼米蘭建議,現在正在工作,唯一的問題是頁面每次重新加載,即使我設置$ checkold =「1」和var checknew =「1」 – phpnoob

相關問題