2017-03-09 2 views
0

私が現在持っているこの問題について誰かが助けてくれるのだろうかと思っていました。私はこれで完全に新しいです、そして残念ながら、プログラミングのHeadfirstの教科書はこれをとてもうまく説明していません。私は多くのstackoverflowsを調査しましたが、役に立たない。適切な方向への助けをいただければ幸いです。ありがとうございました!jSONはローカルストレージAPIを使用してリクエストを受け取ります

タスクは、以下の項目のリストとともにフードメニューを表示することです。

  1. Ajax GETrequestで取得したJSONファイルからのデータで生成する必要があります。
  2. 目的のメニュー項目を含むJSONファイルを生成します。
  3. メニュー項目を表示する方法を決定します。順序付きリスト、順序付けられていないリストなど
  4. localStorge APIを使用してJSON応答からデータをキャッシュする
  5. データがキャッシュされた後にGET要求が行われないようにします。
  6. データは

をキャッシュされたとき、私はこれが正しいget要求だと思うのlocalStorageからデータを取得しますか?私はものが不足していることを知っているが、正直言ってそれは私の頭の上です。

​​

私はあなたがAJAX呼び出しから成功応答の後、あなたのJSONデータを格納するためのコードを記述する必要があり

var startersMenu = { 
"starters": [ 
{ 
"name": "Jumbo Lump Crab Cake", 
"description": "Creole lobster sauce." 
}, 

{ 
"name": "Bacon Wrapped Sea Scallops", 
"description": "Chardonnay lemon sauce, Mango salsa." 
}, 
{ 
"name": "Chilled Maine Lobster Cocktail", 
"description": "Atomic cocktail sauce and lemon butter." 
}, 
{ 
"name": "Coconut Shrimp", 
"description": "three jumbo tiger shrimp, vanilla orange beurre blanc." 
}, 
{ 
"name": "Crispy Point Judith Calamari", 
"description": "Italian peppers and Bleu cheese Stuffed olives, Atomic cocktail sauce." 
}, 
{ 
"name": "Oysters on the Half Shell", 
"description": "shucked to order, mignonette and Atomic cocktail sauces." 
} 

] 

} 

答えて

0
for(var i=0; i<startersMenu.starters.length; i++){ 
localStorage.setItem('name_'+i, JSON.stringify(startersMenu.starters[i].name)); 

var nameString = localStorage.getItem("name_"+i); 
console.log(nameString); 
} 

..

$.ajax({ 
      url: 'data/startersMenu.json', 
      data: { 

      }, 
      cache: false,   // you can set cache true or false here 

     complete: function (jqXHR, textStatus) { 
      // following statements 

     } 
}); 

は良い方法です。キャッシュをtrueまたはfalseに設定してキャッシュを保存することができます。

この方法を使用すると、より良い方法が得られます。

0

ここstartersMenu.jsonと呼ばれる外部のJSONファイルを持っています。ローカルストレージに保存する前にjsonを文字列化する必要があることに注意してください。 localStorage.setItem('key', JSON.stringify(json)); その後、ajaxコールを再作成する前に毎回ローカルストレージをチェックすることができます。 localStorage['key'] データがある場合はローカルストレージから取得し、それ以外の場合はデータサーバーを呼び出します。あなたがこの方法を選びだしてきたあなたは、ローカルストレージを使用してデータを保存し、簡単に取り出すことができます。このところで

関連する問題