2016-05-28 49 views
0

重新加載頁面我無法找到一個合適的方式來實現這一目標:AJAX - 如果JSON已經改變

我有此腳本

<script type="text/javascript"> 
function updateSpots() { 

    $.ajax({ 
     url : '/epark/api/spots/last', 
     dataType : 'text', 
     success : function(data) { 

      var json = $.parseJSON(data); 
      var currentMessage = json.dateTime; 
      var idPosto = json.idPosto; 
      console.log('current '+currentMessage); 
      console.log('old '+oldMessage); 
      if(currentMessage != oldMessage){ 

       setTimeout(function(){location.reload();}, 5000); 

       $('#idPosto').toggle("higlight"); 
      } 
      oldMessage = currentMessage;  

     } 
    }); 

} 

var intervalId = 0; 
intervalId = setInterval(updateSpots, 3000); 
var oldMessage =""; 

</script> 

這應該檢查每3秒,如果dateTime對JSON改變。

問題是,我不能走得更遠一步。我的意思是,當頁面加載時,oldMessage爲空,所以if條件不滿足。如果我能「跳」這第一次迭代,那麼一切都會順利......

回答

1
var oldMessage = false; 

//... 

if (oldMessage && oldMessage !== currentMessage) { 

//... 
+0

你可以離開初始化爲空字符串,但我認爲'FALSE'更清晰 –

+0

非常酷!謝謝 – besmart