2012-05-01 5 views
0

나는 좋은 점과 나쁜 점, 거의 2 살 정도의 사이트에서 MySQL을 조사하는 다양한 방법을 발견했다.MySQL과 PHP를 사용하는 JQuery 폴링. 방법?

서버를 올바르게 폴링하는 방법에 대한 예제를보고 싶습니다.

의견이 삽입되는 MySQL 테이블이 있습니다. 이 서버를 폴링하고 DIV에 추가하는 방법에 대한 JQuery의 예를보고 싶습니다. 매 5 초마다 마지막 10 개의 항목을 표시하는 대신 마지막 폴링 확인 이후 테이블에 새 주석 만 삽입했습니다.

setInterval을 읽지 않았기 때문에 setInterval 이외의 예가 적합 할 수 있습니다. 다른 요청을하기 전에 요청이 성공적 이었는지 상관하지 않습니다.

답변

0

DB에서 새로운 주석을 확인하고 인코딩 된 JSON을 리턴하는 서버 측 스크립트에 AJAX 요청을 보내야합니다.

마지막 주석 만 가져 오려면 클라이언트 쪽 코드에서 마지막 주석 가져 오기의 타임 스탬프를 유지하십시오. 다음 번에 주석을 요청하면이 시간 소인을 전달하십시오. 서버 측 스크립트는 전달 된 매개 변수보다 타임 스탬프가 큰 주석 만 반환합니다.

setInterval을 사용하는 대신 성공 처리기에서 AJAX 요청을 다시 제출할 수 있습니다.

function ajaxRequest(timestamp) { 
    $.ajax({ 
     url : 'url_to_post?timestamp=' + timestamp, 
     success : function(response){ 
      //handle the new comments here 
      //call this function again 
      //sleep for 3 seconds first 
      setTimeout(function(){ 
       timestamp += 3000; 
       ajaxRequest(timestamp); 
      },3000); 

     } 

    }); 
} 
+0

흠 ... 재미 있습니다. 성공 처리기에서 AJAX 요청을 다시 제출하는 것에 대해 더 자세히 알 수 있습니까? 어떤 종류의 루프처럼 들린다. 아니면 샘플을 올리시겠습니까? =) – ASPiRE

+0

@Vini : 코드 샘플을 게시했습니다. 예, 재귀 루프입니다. – xbonez

+0

오른쪽 위에 있습니다. 제출 된 타임 스탬프 형식을 MySQL을 통해 PHP를 통해 저장하고 검색하는 방법은 비교할 수 있도록 동일하므로 잘하면 3 개 언어 모두를 서로 쉽게 변환 할 수 있습니다. – ASPiRE

관련 문제