Tout d'abord merci romain pour ces infos !:
Voici mon code javascript qui permet de parser le json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| function buildMenu(jsoncontent)
{
var data=eval("(" + jsoncontent + ")");
document.getElementById("show").innerHTML = data.title + "<br/><br>";
for(i = 0; i < 3; i++)
{
var line = data.last[i].titre + "<br/><br/>";
document.getElementById("titre").innerHTML += line;
var artiste = data.last[i].artiste + "<br/><br/>";
document.getElementById("artiste").innerHTML += artiste;
var titre_alternatif = data.last_alternatif[i].titre_alternatif + "<br/><br/><br/><br/>";
document.getElementById("titre_webradios").innerHTML += titre_alternatif;
var artiste_alternatif = data.last_alternatif[i].artiste_alternatif + "<br/><br/><br/><br/>";
document.getElementById("artiste_webradios").innerHTML += artiste_alternatif;
var titre_collector = data.last_collector[i].titre_collector + "<br/><br/><br/><br/><br/>";
document.getElementById("titre_webradios").innerHTML += titre_collector;
var artiste_collector = data.last_collector[i].artiste_collector+ "<br/><br/><br/><br/>";
document.getElementById("artiste_webradios").innerHTML += artiste_collector;
var titre_blues = data.last_blues[i].titre_blues + "<br/><br/><br/>";
document.getElementById("titre_webradios").innerHTML += titre_blues;
var artiste_blues = data.last_blues[i].artiste_blues+ "<br/><br/><br/>";
document.getElementById("artiste_webradios").innerHTML += artiste_blues;
var titre_inde = data.last_inde[i].titre_inde + "<br/><br/><br/>";
document.getElementById("titre_webradios").innerHTML += titre_inde;
var artiste_inde = data.last_inde[i].artiste_inde+ "<br/><br/><br/>";
document.getElementById("artiste_webradios").innerHTML += artiste_inde;
}
}
var fname = 'dynamic-menu.json';
function loadJSON()
{
var xhr=createXHR();
xhr.open("GET", fname,true);
xhr.onreadystatechange=function()
{
if (xhr.readyState == 4)
{
if (xhr.status != 404)
{
document.getElementById("titre").innerHTML = "";
buildMenu(xhr.responseText);
}
else
{
document.getElementById("titre").innerHTML = fname + " not found";
}
}
}
xhr.send(null);
}
window.onload = loadJSON; |
Sur ma page à afficher, j'ai donc rajouter ce code
new Ajax.PeriodicalUpdater('loadJSON', 'dynamic-menu.json', {frequency:10, method:'get'});
J'appelle la fonction loadJSON, le fichier json toutes les 10 secondes par la méthode get, c'est bien ça ? Ne serait-ce pas un problème de cache ou autre?
Partager