2012-09-07 5 views
0

현재 인트라넷에서 모니터링 할 수있는 PHP 스크립트/AJAX를 설계 중입니다. 당일 데이터베이스에 저장된 작업 목록을 검색하려고합니다. 그래서 멤버를 비동기 적으로 보려고하는 순간 요청을했지만 작동하지 않습니다.데이터베이스 데이터를 표시하는 AJAX

실제로 테스트 한 구성원과 실시간으로 기록 된 데이터를 관찰 할 수 있어야하기 때문에 이날의 작업에 대한 의제를 복구하고 비동기 적으로 (다시로드하지 않고) 구성원을 표시하려고했습니다. 다음

다음
function writeInDiv(text){ 
    var objet = document.getElementById('monitoring'); 
    objet.innerHTML = text; 
} 

function ajax() 
{ 
    var xhr=null; 

    if (window.XMLHttpRequest) { 
     xhr = new XMLHttpRequest(); 
    } 
    else if (window.ActiveXObject) 
    { 
     xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xhr.open("GET", "ajax.php", false); 
    xhr.send(null); 
    writeInDiv(xhr.responseText); 
     setInterval("ajax()",5000); 
} 

나는 두 개의 다른 페이지를 가지고, 즉 코드를 표시하는, 그것은 포함 script.js에서

내가이를 넣어 헤더에 있습니다

그래서 나는이 코드를했다 :

<button onclick='javascript:ajax()'>Afficher</button> 
       <div id="monitoring"></div> 


<?php 

$requette = mysql_query("SELECT * FROM gestionnaire ORDER BY ID DESC LIMIT 0,10"); 
$result=mysql_query($requette) or die; 
While($donne = mysql_fetch_array($requette)) 
{ 
$message = htmlentities($donne['nom']); 
$pseudo = htmlentities($donne['prenom']); 
?> 
<b><?php var_dump($donnee); echo $pseudo; ?>:</b> <?php echo $message; ?><br /> 
<?php 
} 
?> 

문제는 테이블이이 분야로 가득하지만 아무것도, 심지어 오류 메시지가하지 않은 표시 없다는 것입니다 나는 var_dump 시도 하지만 이런 경우에는 아무것도 아닙니다.

잘 모르겠거나 올 수 있습니다.

답변

3

Ajax 호출이 비동기 적이기 때문에 responseText를 writeInDiv에 전달하는 순간 호출이 완료되지 않았을 수 있습니다.

function writeInDiv(text){ 
    var objet = document.getElementById('monitoring'); 
    objet.innerHTML = text; 
} 

function ajax() 
{ 
    var xhr=null; 

    if (window.XMLHttpRequest) { 
     xhr = new XMLHttpRequest(); 
    } 
    else if (window.ActiveXObject) 
    { 
     xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xhr.open("GET", "ajax.php", false); 
    xhr.send(null); 
    xhr.onreadystatechange=function() 
    { 
     if (xhr.readyState==4 && xhr.status==200) 
     { 
      writeInDiv(xhr.responseText); 
     } 
    } 
    setTimeout("ajax()",5000); 
} 

또는 jQuery를 함께 : 다음 시도 또한

function ajax() { 
    $('#monitoring').load('ajax.php'); 
    setTimeout("ajax()",5000); 
} 

, 나는 그것이 var_dump($donne);

+0

감사 할 수는 perfectfully 작동 인간 수는 var_dump($donnee);을 맞춤법이 틀린 생각 –

관련 문제