2017-10-02 5 views
0

標準XMLHttpRequestを使用して、APIからJSONデータを取得しています。最初はすべてのデータを表示しています(フィルタリングなし)。いつでもボタンをクリックすると、その具体的な並べ替えをしたいgenreXMLHttpRequest追加のリクエストなしでデータをソート

毎回データを再リクエストせずにユーザークリックでデータを並べ替えるにはどうすればよいですか?誤っていない限り、返されたデータをグローバル変数に格納することはできません。それをローカルデータでソートするのが最善でしょうか?

app.js JSONデータが

[{ 
    "date": { 
    "dayOfWeek": "Thursday", 
    "month": "Oct" 
    }, 
    "location": "Bristol", 
    "genre": "rock" 
}, { 
    "date": { 
    "dayOfWeek": "Cardiff", 
    "dayOfMonth": 13, 
    "month": "Oct" 
    }, 
    "location": "Manchester", 
    "genre": "jazz" 
}] 

はあなたありがとう

// 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> 
+1

これを変数に格納して読んでください...あなたは既にそれを知っていたようです。 – epascarello

+0

@epascarello - 何らかの理由で、返されたデータを変数に代入することができなかったことが私の頭の中にありました。 – Liondedan

+1

おそらく、データが取得される前にそれを読もうとしていると考えていたでしょう。あなたのケースでは、データが読み込まれるようにフェッチされたことを知っておくべきです。あなたが心配しているなら、約束を使うことができます。 – epascarello

答えて

0

返されたデータを変数に格納するだけで済みます。追加の要求は必要ありません。

関連する問題