2016-08-23 10 views
0

私はhttp://netflixroulette.net/api/を使用して、テキストボックスのタイプに基づいて情報を取得しますが、オブジェクトパラメータの値を取得するのに問題があります。私が使用するこのオブジェクトからレーティングを取得できないのはなぜですか?

$('.moviebutton').on('click', function(e){ 
    e.preventDefault(); 

    var title = $('#moviename').val(); 
    var movieresults = $('#movieresults'); 
    var requestURL = '//netflixroulette.net/api/api.php'; 

    $.getJSON(requestURL, { 
     'title' : title, 
    }, function(data) { 
     console.log(data); 
     if(data){ 
      myMovie = '<table>'; 
      myMovie += '<tr><th>Rating</th><th>Title</th><th>Poster Link</th></tr>'; 
      $.each(data, function(i, rep){ 
       myMovie += '<tr>'; 
       myMovie += '<td>'; 
        myMovie += rep.rating; 
       myMovie += '</td>'; 
       myMovie += '<td>'; 
        myMovie += rep.show_title; 
       myMovie += '</td>'; 
       myMovie += '<td>'; 
        myMovie += rep.poster; 
       myMovie += '</td>'; 
       myMovie += '</tr>'; 
      }); 
      myMovie += '</table>'; 
     } else { 
      myMovie = '<p>Sorry no address where found</p>'; 
     } 
     movieresults.html(myMovie); 
    }); 
}); 

このため復帰は

Object {unit: 883, show_id: 70299043, show_title: "Attack on Titan", release_year: "2013", rating: "4.6"…} 
    category:"Anime" 
    director:"" 
    mediatype:1 
    poster:"http://netflixroulette.net/api/posters/70299043.jpg" 
    rating:"4.6" 
    release_year:"2013" 
    runtime:"24 min" 
    show_cast:"Yuki Kaji, Yui Ishikawa, Marina Inoue, Daisuke Ono, Hiro Shimono, Hiroshi Kamiya, Keiji Fujiwara, Kishô Taniyama, Romi Park, Ryota Ohsaka" 
    show_id:70299043 
    show_title:"Attack on Titan" 
    summary:"For over a century, people have been living behind barricades to block out the giant Titans that threaten to destroy the human race. When a Titan destroys his hometown, young Eren Yeager becomes determined to fight back." 
    unit:883 
    __proto__:Object 

あるしかし、私はrep.ratingまたはrep.show_titleをしようとしたとき、私は未定義を取得、私はパラメータを欠落しているかの代わりに、rep.w/Eいますobject.rating?

+0

'data'はオブジェクトのようですが、しようとしていますその配列のように繰り返します。 –

+0

変数 'i'と' rep'が格納しているものを見てみましたか? –

答えて

1

ここで戻り値が実際にあなただけの代わりに、ループを使用してrep.ratingなどの呼び出しのdata.ratingを使用することができるオブジェクトであるので:

$.getJSON(requestURL, { 
    'title': title, 
}, function(data) { 
    console.log(data); 
    if (data) { 
    myMovie = '<table>'; 
    myMovie += '<tr><th>Rating</th><th>Title</th><th>Poster Link</th></tr>'; 
    myMovie += '<tr>'; 
    myMovie += '<td>'; 
    myMovie += data.rating; 
    myMovie += '</td>'; 
    myMovie += '<td>'; 
    myMovie += data.show_title; 
    myMovie += '</td>'; 
    myMovie += '<td>'; 
    myMovie += data.poster; 
    myMovie += '</td>'; 
    myMovie += '</tr>'; 
    myMovie += '</table>'; 
    } else { 
    myMovie = '<p>Sorry no address where found</p>'; 
    } 
    movieresults.html(myMovie); 
}); 

簡単なデモ:

var movieresults = $('#movieresults'); 
 
var requestURL = 'http://netflixroulette.net/api/api.php?title=Attack%20on%20titan'; 
 

 
$.getJSON(requestURL, function(data) { 
 
    console.log(data); 
 
    if (data) { 
 
    myMovie = '<table>'; 
 
    myMovie += '<tr><th>Rating</th><th>Title</th><th>Poster Link</th></tr>'; 
 
    myMovie += '<tr>'; 
 
    myMovie += '<td>'; 
 
    myMovie += data.rating; 
 
    myMovie += '</td>'; 
 
    myMovie += '<td>'; 
 
    myMovie += data.show_title; 
 
    myMovie += '</td>'; 
 
    myMovie += '<td>'; 
 
    myMovie += data.poster; 
 
    myMovie += '</td>'; 
 
    myMovie += '</tr>'; 
 
    myMovie += '</table>'; 
 
    } else { 
 
    myMovie = '<p>Sorry no address where found</p>'; 
 
    } 
 
    movieresults.html(myMovie); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> 
 
<p id="movieresults"></p>

+1

素晴らしい歓声は魅力的です:) – MrJoshFisher

関連する問題