2014-10-22 2 views
-2

이것이 중복 된 질문이지만 작동하도록 특정 코드를 가져올 수 없다는 것을 알고 있습니다.JQUERY를 사용하여 JSON 데이터로 div를 새로 고침

내 페이지에서 5 초마다 표시하고 업데이트하려는 변수가 두 개인 JSON 파일이 있습니다. 그것은 잘 작동하지만 setTimeout 또는 setInterval을 삽입하면 데이터가 표시되지 않습니다.

<script> 
    $(document).ready(function() { 
     (function request() { 
      $.ajax({ 
       url: "json.account-balance.php", 
       dataType: "text", 
       cache: false, 
       success: function(data) { 
        var json = $.parseJSON(data); 
        $('#trade_pp').html(json.trade); 
        $('#ect_pp').html(json.ect); 
       }    
      });    
     setTimeout(request, 5000); 
     }); 
    }); 
</script> 
+2

작동 코드 대신 실패한 코드를 표시하는 것이 더 합리적이지 않습니까? – charlietfl

+0

'console.log (data)' – lighter

+0

@charlietfl updated –

답변

1

기능을 실행 자체에 대한 필요가 없습니다 : 또한

$(document).ready(function() { 
    function request() { 
     $.ajax({ 
      url: "json.account-balance.php", 
      dataType: "text", 
      cache: false, 
      success: function(data) { 
       var json = $.parseJSON(data); 
       $('#trade_pp').html(json.trade); 
       $('#ect_pp').html(json.ect); 
      }    
     });    
    } 

    setTimeout(request, 5000); 
}); 

, 당신의 dataType 아마 JSON - 이것은 의지 자동으로 당신을 위해 데이터를 구문 분석 설정. 필요 없음 $.parseJSON

$.ajax({ 
     url: "json.account-balance.php", 
     dataType: "json", 
     cache: false, 
     success: function(data) { 
      //var json = $.parseJSON(data); 
      $('#trade_pp').html(data.trade); 
      $('#ect_pp').html(data.ect); 
     }    
    }); 
+0

또는'setTimeout'을 함수 내에 두어 반복하도록하고, 페이지로드시'request()'를 호출하면됩니다. – charlietfl

2

감사합니다. 이것은 완벽하게 작동합니다

<script> 
    $(document).ready(function() { 
     function updateDiv(){ 
      $.ajax({ 
       url: "json.account-balance.php", 
       dataType: "json", 
       cache: false, 
       success: function(data) { 
        $('#trade_pp').html(data.trade); 
        $('#ect_pp').html(data.ect); 
       }    
      });    
     } 
     updateDiv(); 
     setInterval(updateDiv, 5000); 
    }); 
</script> 
관련 문제