2013-07-09 4 views
0

orderby=published을 사용하면 작동하지 않는 스크립트가 있지만 orderby=viewcount 또는 orderby=rating을 사용하면 작동합니다. 쿼리에 문제가 있거나이 스크립트에서 작동하지 않는 다른 json 결과를 게시합니다. 어쩌면 잘못된 URL을 사용하고있는 것으로 보인다
youtube-ajax-search-api에 대한 검색 결과는 orderby = viewCount에 대해 작동하지만 orderby = published가 아닙니다.

query="http://gdata.youtube.com/feeds/mobile/videos?alt=json-in-script&q=talking+tom&orderby=viewCount&start-index=1&max-results=20"; 

query="http://gdata.youtube.com/feeds/mobile/videos?alt=json-in-script&q=talking+tom&orderby=published&start-index=1&max-results=20"; 


<script type="text/javascript" src="jquery-1.6.2.min.js"></script> 
<script type="text/javascript"> 
function SearchYouTube(query) { 
    $.ajax({ 
     url: 'http://gdata.youtube.com/feeds/mobile/videos?alt=json-in-script&q=' + query, 
     dataType: 'jsonp', 
     success: function (data) { 
      var row = ""; 
      for (i = 0; i < data.feed.entry.length; i++) { 
       row += "<div class='search_item'>"; 
       row += "<table width='100%'>"; 
       row += "<tr>"; 
       row += "<td vAlign='top' align='left'>"; 
       row += "<a href='#' ><img width='120px' height='80px' src=" + data.feed.entry[i].media$group.media$thumbnail[0].url + " /></a>"; 
       row += "</td>"; 
       row += "<td vAlign='top' width='100%' align='left'>"; 
       row += "<a href='#' ><b>" + data.feed.entry[i].media$group.media$title.$t + "</b></a><br/>"; 
       row += "<span style='font-size:12px; color:#555555'>by " + data.feed.entry[i].author[0].name.$t + "</span><br/>"; 
       row += "<span style='font-size:12px' color:#666666>" + data.feed.entry[i].yt$statistics.viewCount + " views" + "<span><br/>"; 
       row += "</td>"; 
       row += "</tr>"; 
       row += "</table>"; 
       row += "</div>"; 
      } 
      document.getElementById("search-results-block").innerHTML = row; 
     }, 
     error: function() { 
      alert("Error loading youtube video results"); 
     } 
    }); 
    return false; 
} 
</script> 

답변

0

에서이 스크립트입니다. 코드에서 :

query="http://gdata.youtube.com/feeds/mobile/videos?alt=json-in-script&q=talking+tom&orderby=published&start-index=1&max-results=20"; 
... 
function SearchYouTube(query) { 
    ... 
    url: 'http://gdata.youtube.com/feeds/mobile/videos?alt=json-in-script&q=' + query 
    ... 

당신은 당신의 기능 SearchYouTube(query)가 http-어쩌구 어쩌구 저쩌구 접두사가없는 쿼리 문자열에 전달해야합니다. 위의 변수 query에서 정의한 것이 아니라 다음과 같습니다.

query="talking+tom&orderby=published&start-index=1&max-results=20";