2016-05-28 4 views
0

を変更した場合、私はこれを達成するための適切な方法を見つけることができないページをリロード:AJAX JSONは

私はdateTimeは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秒ごとにチェックする必要があります持っています。

問題は、最初のステップをさらに進めることができないということです。つまり、ページがロードされたときに、oldMessageが空のため、if条件が満たされません。私はこの最初の反復を「ジャンプ」ことができれば、その後、すべてがうまく行くだろう...

答えて

1
var oldMessage = false; 

//... 

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

//... 
+0

あなたは空の文字列として初期化子を残すことができるが、私は 'false'をは非常にクール –

+0

明確だと思います!ありがとう – besmart