0

我已经拥有了返回 JSON 所需的一切。当您单击该项目的链接时失败,单击它会加载视频。使用 jQuery 完成所有请求,但我收到页面重新加载的错误。需要ajax,可以吗?

jQuery:

var main = function () {
    var url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D'http%3A%2F%2Frss.cnn.com%2Fservices%2Fpodcasting%2Fac360%2Frss.xml'%20AND%20itemPath%3D%22%2F%2Fchannel%22&format=json&diagnostics=true&callback=?";

    $.ajax({
        type: 'GET',
        url: url,
        async: false,
        jsonpCallback: 'jsonCallback',
        contentType: "application/json",
        dataType: 'jsonp',
        success: function (json) {
            // titulos
            var titles = json.query.results.channel.item.map(function (item) {
                return item.title;

            });

            // urls
            var urls = json.query.results.channel.item.map(function (item) {
                return item.origLink;

            });

            $(".container-list-podcast ul").append('<li>' + titles.join('</li><li>'));
            $(".container-list-podcast ul li").each(function (key, value) {
                var text = $(this).text();
                $(this).html('<a class="link-podcast" href="' + urls[key] + '">' + text + '</a>');
            });


        },
        error: function (e) {
            console.log(e.message);
        }
    });


}(jQuery);

/// it is the problem...

$(document).ready(function () {
    var request = $(".link-podcast").attr("href");
    $('.link-podcast').click(function () {
        $('.video').attr('src', 'request');
    });
});

jsfiddle

4

2 回答 2

2

问题是将src您的图像设置为字符串“请求”

$('.video').attr('src', 'request');

您将需要在click处理程序的回调中执行 ajax,例如:

$(document).ready(function () { var request = $(".link-podcast").attr("href");

$('.link-podcast').click(function () {
  // pseudocode
  ajax ({
      success: function (result) {
         $('.video').attr('src', result);  // or result.url etc
      }
    })
  });
});
于 2013-08-12T23:58:32.170 回答
0

这些链接是动态添加的,所以您真正需要的是:

$(document).ready(function(){
  $('.container-list-podcast').on('click', '.link-podcast', function(e){
      e.preventDefault();
      $('.video').attr('src', this.href);
  });
});

小提琴

于 2013-08-13T00:01:07.693 回答