Как установить таймер для получения результатов поиска в Твиттере? - PullRequest
0 голосов
/ 20 августа 2011

Я получаю результаты из твиттера, используя jQuery, используя следующий код:

$(document).ready(function(){
var url='http://search.twitter.com/search.json?callback=?&q=';
var query="test";
        $.getJSON(url+query,function(json){
            $.each(json.results,function(i,tweet){
               $("#results").append('<p><img src="'+tweet.profile_image_url+'" widt="30" height="30" />'+tweet.text+'</p>');
        });
    });
});
}

Но я хочу получать новые данные каждые 5 секунд и добавлять их в div?Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 20 августа 2011
<div id="results"></div>
<script>
function get(){
    var url='http://search.twitter.com/search.json?callback=?&q=';
    var query="test";
    $.getJSON(url+query,function(json){
          $.each(json.results,function(i,tweet){
            $("#results").append('<p><img src="'+tweet.profile_image_url+'" widt="30" height="30" />'+tweet.text+'</p>');
          });
    });
}
get();
setInterval(function(){
    get();
}, 5000);
</script>

демо

1 голос
/ 20 августа 2011

Используйте setTimeout из вашего getJSON вызова, и будет проще, если вы выделите логику в локальную функцию, подобную этой:

$(document).ready(function(){

    function getTwitterInfo() {
        var url='http://search.twitter.com/search.json?callback=?&q=';
        var query="test";
        $.getJSON(url+query,function(json){
            $.each(json.results,function(i,tweet){
               $("#results").append('<p><img src="'+tweet.profile_image_url+'" width="30" height="30" />'+tweet.text+'</p>');
            });
            setTimeout(getTwitterInfo, 5000);   // do it again in 5 seconds
        });
    }

    getTwitterInfo();   // call it the first time to get it started
});

FYI, у вас также будет неправильный ввод widtвместо width.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...