2017-01-02 8 views
0

ボタンのクリックで渡される変数または変数を満たすときに特定のJSONオブジェクトを選択する方法を理解しようとしています。これまでのところ、私はそれを動作させるが、それは[オブジェクト]、[オブジェクト]と言う。私はこれが配列で返されるためだと思います。私は何が欠けていますか?ボタン上のAJAX JSONデータ集団Click - Arrayの問題

var Type = "Champagne"; 

    $(document).ready(function(){ 
     $("button").click(function(){ 
      $("#data-details").empty(); 
      $.get("working-data-file.json",{Type: Type},function(result){ 
       $.each(result.data, function(i, field){ 
        $("#data-details").append(this.objects.Title); 
       }); 
      }); 
     }); 
    }); 

.JSONファイルは次のようになります。

{"objects": 
    [ 
     { 
     "Type": "Champagne", 
     "Sweetness": "Brut", 
     "Producer": "Dom Perignon", 
     "Vintage": "2006", 
     "Recommendation": "Classic", 
     "Data": "12.29.2012", 
     "Title": "The wine’s opulence – contained and succulent, round at heart – reveals itself in the mouth." 
     }, 
     { 
     "Type": "Cava", 
     "Sweetness": "Brut-Nature", 
     "Producer": "Canals Canals", 
     "Vintage": "2014", 
     "Recommendation": "Preferred", 
     "Data": "12.29.2012", 
     "Title": "2nd Cava." 
     } 
    ] 
} 
+0


あなたは 'json'データをループに問題がありますか? – uzaif

+0

私はちょうど私がデータをループする必要があると述べたチュートリアルを行っていた。これを少し修正しましたが、結果は空白になります。 –

+0

データが正しく取得できましたか? – uzaif

答えて

1

それぞれをjqueryでループすることができます。

$(document).ready(function() { 
 
\t $('#button').click(function(e){ 
 
    $.each(data.objects, function(i, item) { 
 
    \t $("#data-details").append('<p>' + item.Title + '</p>'); 
 
    \t }); 
 
\t }) 
 
}); 
 

 

 
var data = {"objects": 
 
    [ 
 
     { 
 
     "Type": "Champagne", 
 
     "Sweetness": "Brut", 
 
     "Producer": "Dom Perignon", 
 
     "Vintage": "2006", 
 
     "Recommendation": "Classic", 
 
     "Data": "12.29.2012", 
 
     "Title": "The wine’s opulence – contained and succulent, round at heart – reveals itself in the mouth." 
 
     }, 
 
     { 
 
     "Type": "Cava", 
 
     "Sweetness": "Brut-Nature", 
 
     "Producer": "Canals Canals", 
 
     "Vintage": "2014", 
 
     "Recommendation": "Preferred", 
 
     "Data": "12.29.2012", 
 
     "Title": "2nd Cava." 
 
     } 
 
    ] 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type=button id="button" value="click me"/> 
 

 
<div id="data-details"></div>

0

で試してみてください。

var result={"objects": 
 
    [ 
 
     { 
 
     "Type": "Champagne", 
 
     "Sweetness": "Brut", 
 
     "Producer": "Dom Perignon", 
 
     "Vintage": "2006", 
 
     "Recommendation": "Classic", 
 
     "Data": "12.29.2012", 
 
     "Title": "The wine’s opulence – contained and succulent, round at heart – reveals itself in the mouth." 
 
     }, 
 
     { 
 
     "Type": "Cava", 
 
     "Sweetness": "Brut-Nature", 
 
     "Producer": "Canals Canals", 
 
     "Vintage": "2014", 
 
     "Recommendation": "Preferred", 
 
     "Data": "12.29.2012", 
 
     "Title": "2nd Cava." 
 
     } 
 
    ] 
 
} 
 

 
Object.keys(result).forEach(key => { 
 
    let value = result[key]; 
 
    console.log(value[0].Title); 
 
})

[キー] })

関連する問題