选择菜单项链接返回undefined

时间:2013-08-10 01:20:18

标签: javascript jquery ajax json

我想要的操作是在键盘“输入”时将视频更改为各自的项目,但它返回错误“UNDEFINED”与我用来选择项目的插件有关。 另一个方面是单独的视频不应该加载页面(ajax)。

的javascript:

$.getJSON("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=?", function (data) {

    // Load Titles patch Json
    console.log(data.query.results.channel.item);
    var titles = data.query.results.channel.item.map(function (item) {
        return item.title;

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

    });
    console.log(titles);
    $(".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 href="' + urls[key] + '">' + text + '</a>');
    });
    $(".container-list-podcast ul li a").click(function () {
        var href = $(this).attr('href');
        alert(href);
        $("#myvideo").attr("src", href).get(0).play();
        return false;
    })
    // Load Navigation Only Key
    a = $('.nav_holder li').keynav(function () {
        return window.keyNavigationDisabled;
    });
});

jsfiddle

1 个答案:

答案 0 :(得分:1)

由于您使用的是跨域请求,因此应确保连接的服务器支持此类请求。

但您还需要通过执行以下操作告诉jQuery支持此请求:

 $.support.cors = true;

完整答案可以在 jQuery site

中看到