실시간 json 파싱 채택완료
Copy
<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개
채택된 답변
+20 포인트
HappyTank
5년 전
PHP는 서버에서 실행되는 언어이고,
JS는 클라이언트(PC의 브라우저)에서 실행되는 언어이기때문에
저렇게 코딩하셔도 제대로 실행되지 않는 것입니다.
PHP 부분을 Ajax를 이용하여 $data 값을 받아오도록 작업하셔야 합니다.
Copy
// ==== 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>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인