Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
40
rated 0 times [  41] [ 1]  / answers: 1 / hits: 26307  / 14 Years ago, mon, september 27, 2010, 12:00:00

I'm trying to reload a JSON file every 10 seconds with JQUERY.



The page is here: http://moemonty.com/chirp/chirp.html



The Code is here:



<html>
<head>
<title>the title</title>
<!-- included Jquery Library -->
<script type=text/javascript src=./js/jquery-1.4.2.js></script>
<!-- jquery library -->
</head>
<body>
<script>

$.ajaxSetup({ cache: false }); //disallows cachinge, so information should be new


function loadChirp(){ //start function

var url = http://www.chirpradio.org/json;
$.getJSON(http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20json%20where%20url%3D%22+url+%22&format=json&callback=?,
function(data){
console.log(data.query.results.json);

document.write('The artist is: ' + data.query.results.json.artist + '<br/><br/>');

document.write('The artist is: ' + data.query.results.json[record-label] + '<br/><br/>' );

document.write('The album is: ' + data.query.results.json.album + '<br/><br/>');

document.write('The record label is: ' + data.query.results.json[record-label] + '<br/><br/>');

document.write('The feedback link is: ' + data.query.results.json[feedback-link] + '<br/><br/>');

document.write('The database id is: ' + data.query.results.json[database-id] + '<br/><br/>');

document.write('The time is: ' + data.query.results.json.timestamp.time + ' ');

document.write(data.query.results.json.timestamp[am-pm] + '<br/><br/>');

document.write('The current dj is: ' + data.query.results.json[current-dj] + '<br/><br/>');


setTimeout(loadChirp(),5000);
alert('The timeout was triggered.');

});

} //end function


$(document).ready(function(){
//DOCUMENT READY FUNCTION
loadChirp();
});
//DOCUMENT READY FUNCTION


</script>
</body>
</html>


It doesn't seem to be working.


More From » jquery

 Answers
31

You probably want the previous set of returned data replaced by the new set, instead of appending it. In that case, using jQuery you can do:



<div id='content'></div>
<script>
function loadChirp(){
$.getJSON(http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20json%20where%20url%3D%22+url+%22&format=json&callback=?,
function(data) {
$('#content').html('The artist is: ' + data.query.results.json.artist + '<br/><br/>');
});
setTimeout(loadChirp(),5000);
}
</script>


etc...


[#95493] Thursday, September 23, 2010, 14 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
daquanmilesw

Total Points: 57
Total Questions: 102
Total Answers: 110

Location: Wallis and Futuna
Member since Sat, Aug 6, 2022
2 Years ago
daquanmilesw questions
;