J'utilise un standard XMLHttpRequest
pour récupérer des données JSON à partir d'une API. Au départ, j'affiche toutes les données (non filtrées). Lorsque vous cliquez sur un bouton, je veux trier par ce genre
spécifique.XMLHttpRequest trier les données sans demande supplémentaire
Comment puis-je trier les données lors du clic de l'utilisateur sans demander à nouveau les données à chaque fois? Sauf erreur, vous ne pouvez pas stocker les données renvoyées dans une variable globale? Serait-il préférable de le trier dans les données locales?
app.js
// Get data from API
makeRequest(url)
.then(function (data) {
// Render ALL data from API
renderData(data);
})
index.html
<button type="button" class="btn btn-secondary" onclick="sortByGenre('rock')">Rock</button>
données JSON
[{
"date": {
"dayOfWeek": "Thursday",
"month": "Oct"
},
"location": "Bristol",
"genre": "rock"
}, {
"date": {
"dayOfWeek": "Cardiff",
"dayOfMonth": 13,
"month": "Oct"
},
"location": "Manchester",
"genre": "jazz"
}]
Merci
Stockez-le dans une variable et lisez-le ... On dirait que vous le saviez déjà. – epascarello
@epascarello - Pour une raison quelconque, j'avais l'impression que vous ne pouviez pas affecter les données renvoyées à une variable. – Liondedan
Vous pensiez probablement que vous essayez de le lire avant que les données ont été récupérées. Dans votre cas, vous devez savoir que les données ont été récupérées afin qu'elles soient disponibles à lire. Vous pourriez utiliser des promesses si vous êtes inquiet. – epascarello