실시간 json 파싱

실시간 json 파싱

QA

실시간 json 파싱

본문


<script>
 
var i = 1;                
 
function myLoop() {       
  setTimeout(function() {
    <?php
      $json_string = file_get_contents_curl("api.json");
      $data = array();
      $data = json_decode($json_string, true);       
        ?> 
    $("#list").append("<li><?php echo $data['id']; ?></li>");
    i++;                  
    if (i < 100) {         
      myLoop();           
    }                     
  }, 1000)
}
 
myLoop();                   
</script>

 

이런식으로 javascript를 통해 실시간으로 변경되는 $data['id']; 값을 1초 단위로 표시하는데

위 코드를 실행하면 값이 변경되어도 처음 값으로만 표시됩니다.

자바스크립트로 새로운 json 파일을 읽어오려면 어떻게 해야하나요??

이 질문에 댓글 쓰기 :

답변 2

PHP는 서버에서 실행되는 언어이고,
JS는 클라이언트(PC의 브라우저)에서 실행되는 언어이기때문에

저렇게 코딩하셔도 제대로 실행되지 않는 것입니다.

 

PHP 부분을 Ajax를 이용하여 $data 값을 받아오도록 작업하셔야 합니다.


// ==== PHP 파일 코딩

<?php
  $json_string = file_get_contents_curl("api.json");
  $data = array();
  $data = json_decode($json_string, true);
  echo $data['id'];
?> 

// ==== JS 파일 코딩

<script>
var i = 1;                
function myLoop() {       
  setTimeout(function() {
    /*
        Ajax를 이용하여 위에 코딩한 PHP 파일을 호출하여 
        결과값을 받아오셔야 합니다.
    */
    $("#list").append("<li>"+ [Ajax를 통해 받아온 결과값] +"</li>");
    i++;                  
    if (i < 100) {         
      myLoop();           
    }                     
  }, 1000)
}
 
myLoop();                   
</script>
답변을 작성하시기 전에 로그인 해주세요.
전체 123,353 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT