2012-03-05 3 views
-4

가능한 중복 : PHP 페이지에서 true를 반환하면 div를 새로 고칩니다.


jQuery refresh if PHP file echo's 'true'

나는이 내 인덱스에서 다음 DIV :

<div id='tv'> <? include 'tv.php' ?> </div> 

I가 tv.php 반환에 내용을 변경하는 스크립트 ' true '를 checktime.php라고합니다.

나는 매 10 초마다 PHP 페이지를 검사하기 위해 색인 헤더에 jQuery를 넣으려고하는데 checktime.php가 'true'를 반환하면 jQuery는 #tv div의 내용을 새로 고칩니다. 이것은 현재 가지고있는 코드이지만 작동하지 않습니다. 그것은 checktime.php를 확인하는 것하지만 div 자동으로 새로 고치지 않습니다. 이 당신을 위해 잘 작동하는 경우

<script src="http://code.jquery.com/jquery-latest.js"></script> 

<script type="text/javascript"> 
$(document).ready(function(){ 
    setInterval("checkTime()", 10000); 
    function checkTime(){ 
     $.ajax({ 
      url: 'checktime.php', 
      success: function(refresh){ 
       if($.trim(refresh) == "true"){ 
        $('#tv').load('tv.php'); 
       } 
      } 
     }); 
    } 

}); 
</script> 
+0

당신은 '새로 고침'의 값 확인 되세요 ('을 console.log (새로 고침)') ? tv.php의 출력이 호출간에 실제로 변경되는지 확인 했습니까? –

+0

'$ .ajax()'호출에서'dataType'을 암시 적으로 설정하십시오. 어쩌면 반환 데이터를 텍스트 또는 HTML로 해석하지 않을 수도 있습니다. – Crontab

+1

중복이 아닌 동일한 사용자입니다. ;-) Daan, 두 번째 스레드에서 같은 질문을 할 필요가 없습니다. 나는 Crontab에 동의한다. 그래서 다른 스레드에서 JSON을 사용하도록 제안했다. 최소한 "$ .trim (새로 고침)"의 값을 알려주어 찾고있는 것이 맞는지 확인하십시오. –

답변

0

, 당신은 jQuery를 함께 작동하도록하여 setInterval을 조정해야 참조 :

$(document).ready(function(){ 
    setInterval(function() { 
     $.ajax({ 
      url: 'checktime.php', 
      success: function(refresh){ 
       if($.trim(refresh) == "true"){ 
        $('#tv').load('tv.php'); 
       } 
      } 
     }); 
    }, 10000); 

}); 
관련 문제