복붙노트

[JQUERY] 상쾌하지 않고 페이지에 업데이트 데이터

JQUERY

상쾌하지 않고 페이지에 업데이트 데이터

해결법


  1. 1.일반적으로, 뭔가 당신이 배울 수있는 예를 들어, 모양을 어떻게 작동하는지 당신이 모르는 경우.

    일반적으로, 뭔가 당신이 배울 수있는 예를 들어, 모양을 어떻게 작동하는지 당신이 모르는 경우.

    이 문제의 경우,이 데모를 고려

    AJAX는 매우 쉽게 jQuery를 함께 달성하면 로딩 내용을 볼 수 있습니다 :

    $(function(){
        // don't cache ajax or content won't be fresh
        $.ajaxSetup ({
            cache: false
        });
        var ajax_load = "<img src='http://automobiles.honda.com/images/current-offers/small-loading.gif' alt='loading...' />";
    
        // load() functions
        var loadUrl = "http://fiddle.jshell.net/deborah/pkmvD/show/";
        $("#loadbasic").click(function(){
            $("#result").html(ajax_load).load(loadUrl);
        });
    
    // end  
    });
    

    이것이 어떻게 작동하는지 이해하려고 노력하고이를 복제 해보십시오. 행운을 빕니다.

    당신은 여기에 해당 자습서를 찾을 수 있습니다

    현재 다음과 같은 이벤트가 아약스로드 기능이 시작됩니다 :

    $("#loadbasic").click(function(){
            $("#result").html(ajax_load).load(loadUrl);
        });
    

    또한 정기적으로이 작업을 수행 할 수 있습니다 방법은 주기적으로 AJAX 요청을 해고?

    (function worker() {
      $.ajax({
        url: 'ajax/test.html', 
        success: function(data) {
          $('.result').html(data);
        },
        complete: function() {
          // Schedule the next request when the current one's complete
          setTimeout(worker, 5000);
        }
      });
    })();
    

    내가 여기 당신을 위해이 구현의 데모를했다. 이 데모에서는, 매 2 초 (의 setTimeout (노동자, 2000)) 컨텐츠가 업데이트됩니다.

    또한 단지 바로 데이터를로드 할 수 있습니다 :

    $("#result").html(ajax_load).load(loadUrl);
    

    어떤 본 해당하는 데모가 있습니다.


  2. 2.당신은 모든 페이지 새로 고침없이 당신 (livefeed.txt 말) 웹 페이지를 일부 라이브 피드 콘텐츠를 표시하려면 다음 간단한 예를 들어 당신을위한 가정하자.

    당신은 모든 페이지 새로 고침없이 당신 (livefeed.txt 말) 웹 페이지를 일부 라이브 피드 콘텐츠를 표시하려면 다음 간단한 예를 들어 당신을위한 가정하자.

    아래의 HTML 파일에서 라이브 데이터는 ID가 "liveData"의 div 요소에 업데이트됩니다

    index.html을

    <!DOCTYPE html>
    <html>
    <head>
        <title>Live Update</title>
        <meta charset="UTF-8">
        <script type="text/javascript" src="autoUpdate.js"></script>
    </head>
    <div id="liveData">
        <p>Loading Data...</p>
    </div>
    </body>
    </html>
    

    autoUpdate.js는 XMLHttpRequest의 개체를 사용하여 실시간 데이터를 읽고 1 초마다에 html로 div 요소을 업데이트합니다. 더 나은 이해를 위해 대부분의 코드에 대한 의견을 주었다.

    autoUpdate.js

    window.addEventListener('load', function()
    {
        var xhr = null;
    
        getXmlHttpRequestObject = function()
        {
            if(!xhr)
            {               
                // Create a new XMLHttpRequest object 
                xhr = new XMLHttpRequest();
            }
            return xhr;
        };
    
        updateLiveData = function()
        {
            var now = new Date();
            // Date string is appended as a query with live data 
            // for not to use the cached version 
            var url = 'livefeed.txt?' + now.getTime();
            xhr = getXmlHttpRequestObject();
            xhr.onreadystatechange = evenHandler;
            // asynchronous requests
            xhr.open("GET", url, true);
            // Send the request over the network
            xhr.send(null);
        };
    
        updateLiveData();
    
        function evenHandler()
        {
            // Check response is ready or not
            if(xhr.readyState == 4 && xhr.status == 200)
            {
                dataDiv = document.getElementById('liveData');
                // Set current data text
                dataDiv.innerHTML = xhr.responseText;
                // Update the live data every 1 sec
                setTimeout(updateLiveData(), 1000);
            }
        }
    });
    

    목적을 테스트 : 그냥 쓰기 뭔가를 라이브 feed.text에 - 당신은 어떤 새로 고침없이 index.html을에서 동일하게 업데이트되는 것입니다.

    livefeed.txt

    Hello
    World
    blah..
    blah..
    

    참고 : 클라이언트 HTML 파일 (예 : 파일 : /// C : /index.html를) 당신은 웹 서버 (: HTTP : // localhost를 1234 / index.html을 전)을 위의 코드를 실행해야합니다.


  3. 3.당신은 공식 jQuery를 사이트에서 jQuery를 아약스에 대해 읽을 수 있습니다 : https://api.jquery.com/jQuery.ajax/

    당신은 공식 jQuery를 사이트에서 jQuery를 아약스에 대해 읽을 수 있습니다 : https://api.jquery.com/jQuery.ajax/

    당신은 어떤 클릭 이벤트를 사용하지 않는 경우에 당신은 주기적으로 업데이트 타이머를 설정할 수 있습니다.

    다음 코드는 도움이 방금 예가 될 수 있습니다.

    function update() {
      $.get("response.php", function(data) {
        $("#some_div").html(data);
        window.setTimeout(update, 10000);
      });
    }
    

    위 기능은 매 10 초 후에 전화 #some_div에 response.php 및 업데이트 컨텐츠를 얻을 것이다.


  4. 4.내가 먼저 아약스 배우고 싶은 생각이 시도 : 아약스 자습서

    내가 먼저 아약스 배우고 싶은 생각이 시도 : 아약스 자습서

    어떻게 아약스의 작품을 알고 싶은 경우에, 직접 jQuery를 사용하는 것이 방법이 아니다. 나는 서버에 아약스 요청을 보낼 수있는 기본 방법을 배울 지원 XMLHttpRequest의에 대해 뭔가를 참조하십시오

    var xhr = new XMLHttpReuqest();
    xhr.open("GET", "http://some.com");
    
    xhr.onreadystatechange = handler; // do something here...
    xhr.send();
    
  5. from https://stackoverflow.com/questions/22577457/update-data-on-a-page-without-refreshing by cc-by-sa and MIT license