2016-11-08 15 views
2

console.log(data)のgetJSONを出力しようとすると、表示されますが、期待通りにdivには入りません。getJSONがdivにhtmlデータを出力しない

$.getJSON("http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?", 
{ 
    page:"Football", prop:"text" 
}, function(data) { 
    $(".modal-content").html(data); 
}); 

<div class="modal-content"></div> 

注:コンソールにはエラーを与えないとdivがあなたが正しく返されたオブジェクトのtextプロパティにアクセスする必要が

+0

てみ '$( "モーダル・コンテンツ。 ")HTML(data.parse.text [ '*']);。。代わりに' '$("。モーダル・コンテンツ")のHTML(データ) ; ' – DavidDomain

+0

@DavidDomainビンゴ!それを答えに入れて、私はそれを受け入れます、ありがとう –

答えて

2

空である。このことをしようと

jquerys .html()メソッドは、関数または文字列をパラメータとして想定しているため、返されたオブジェクトを渡して.html(..を設定しようとすると機能しません。

wikis API:JSON version 2によると、$.getJSONに渡されたオプションオブジェクトに次のプロパティを追加できます。

formatversion:2 

例えば、無駄な間接を排除{"text":{"*":"..."}}の代わりに{"text":"..."}[{"name":"key1","*":"value1"},{"name":"key2","*":"value2"}]の代わりに{"key1":"value1","key2":"value2"}を使用してください。

ここに正しいアンサーがあります。

var location = "https://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?"; 

$.getJSON(location, { 
    page:"Football", 
    prop:"text", 
    formatversion: 2 
}, function(data) { 
    $(".modal-content").html(data.parse.text); 
    //console.log(data.parse.text) 
}); 
関連する問題