0

我在下面有一个脚本,如果我使用orderby=published它就不起作用,但如果我使用orderby=viewcountor就起作用orderby=rating。查询是否有问题,或者发布是否返回json了不适用于此脚本的不同结果。该脚本来自
youtube-ajax-search-api

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>
4

1 回答 1

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-blah-blah-blah 前缀的查询字符串传递给您的函数。不是你在query上面的变量中定义的,而是这样的:

query="talking+tom&orderby=published&start-index=1&max-results=20";
于 2013-07-10T15:32:14.823 回答