2016-09-28 11 views
0

jsonpファイルからのajaxリクエストを使用してhtmlを出力しようとしています。 console.logを使用しているときは、データをうまくループしているのを見ていますが、変数を使用してhtmlでループと出力を取得すると、1つの結果しか表示されません。私は何が欠けていますか?jQueryを使用したajax/jsonpリクエストからのhtmlの出力

$.ajax({ 
    url: "http://sitedotcom/blog/json", 
    dataType: "jsonp", 
    jsonpCallback: "jsonpCallback", 
    success: jsonpCallback 
}); 

function jsonpCallback(data) { 
    for (var key in data) { 
     if (data.hasOwnProperty(key)) { 
      console.log(data[key]["title"] + ", " + data[key]["entry_id"]); 
      rssData = '<h2>' + data[key]["title"] + "</h2><p>" + data[key]["blog_summary"] + "</p>"; 

     } 
     $('#blog-content').html(rssData); 
    } 
} 

答えて

1

あなたはhtml()はすべてのコンテンツを置き換えるので、これだけ最後の結果が表示されます....ループ内$('#blog-content').html(rssData);を持っています。

ではなくappend()を使用してみてくださいまたはrssDataに各反復を連結し、ループは、あなたの#ブログ・コンテンツに追加されたときrssDataが範囲外であるように見えます

+0

完璧... 'append()'は正常に動作しています。感謝。 – frshjb373

+0

条件がfalseであれば 'rssData'は未定義です...他の反復では、それはグローバルであり、以前の内容を複製します。ループはいくつかのクリーンアップを必要とし、グローバルを使用しない – charlietfl

0

を完了した後html()を設定します。また、コンソールログを実行してrssData変数を設定するときに、別のデータを出力しています。

jsonレイアウトと、追加しようとしているhtmlレイアウトを提供できる場合は、

関連する問題