>백엔드 개발 >PHP 튜토리얼 >jQuery Ajax를 사용하여 10초마다 지속적으로 데이터를 가져오는 방법은 무엇입니까?

jQuery Ajax를 사용하여 10초마다 지속적으로 데이터를 가져오는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-04 03:53:29920검색

How to Continuously Fetch Data with jQuery Ajax Every 10 Seconds?

jQuery: 10초마다 Ajax 호출

주어진 시나리오에서 목표는 Ajax를 사용하여 10초마다 div에 새 피드백 항목을 표시하는 것입니다. 그러나 제공된 코드는 두 개의 항목만 표시한 다음 중지됩니다.

문제는 코드에 주기적으로 Ajax 호출을 시작하는 메커니즘이 없다는 것입니다. 이를 수행하려면 setInterval() 함수를 사용하는 것이 좋습니다.

setInterval()

setInterval() 함수는 콜백 함수와 밀리초 단위의 간격을 인수로 사용합니다. 지정된 간격이 경과한 후 콜백 함수를 실행하고 지워질 때까지 계속합니다.

예를 들어 다음과 같이 setInterval()을 사용할 수 있습니다.

<code class="javascript">setInterval(function(){get_fb();}, 10000);</code>

이 코드는 10초마다 get_fb() 함수를 호출합니다.

Ajax 호출 완료 콜백

또는 Ajax 호출이 완료되면 다음 호출을 시작하도록 할 수도 있습니다. 이는 Ajax 호출의 성공() 또는 완료() 메소드를 사용하여 달성할 수 있습니다.

success() 사용:

<code class="javascript">function get_fb(){
    var feedback = $.ajax({
        type: "POST",
        url: "feedback.php",
        async: false
    }).success(function(){
        setTimeout(function(){get_fb();}, 10000);
    }).responseText;

    $('div.feedback-box').html(feedback);
}</code>

complete 사용 ():

<code class="javascript">function get_fb(){
    var feedback = $.ajax({
        type: "POST",
        url: "feedback.php",
        async: false
    }).complete(function(){
        setTimeout(function(){get_fb();}, 10000);
    }).responseText;

    $('div.feedback-box').html(feedback);
}</code>

이 두 메소드 모두 현재 호출이 완료되면 다음 Ajax 호출을 시작합니다.

결론

setInterval( ) 또는 Ajax 호출 완료 콜백을 사용하면 정기적으로 새로운 피드백 항목을 지속적으로 검색하고 표시할 수 있어 중지하기 전에 두 개의 항목만 표시되는 문제를 해결할 수 있습니다.

위 내용은 jQuery Ajax를 사용하여 10초마다 지속적으로 데이터를 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.