路径JSON只返回标题?

时间:2013-08-12 20:56:38

标签: jquery json

大家好我正在做我的第一个ajax应用程序,已经有很多,但它并没有为标题做准备。 Json用这种方式:“json.query.results.channel.item.title”

我返回所有数组,但我无法设置标题的路径,有人可以帮助我吗?

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) {
            console.dir(json.query.results.channel.item);
        },
        error: function (e) {
            console.log(e.message);
        }
    });

    var titles = item.map(function (item) {
        return item.title;

    });

    $(".container-list-podcast ul").append('<li>' + titles.join('</li><li>'));


}(jQuery);

jsfiddle

1 个答案:

答案 0 :(得分:1)

您的item变量未定义:您拥有的唯一itemjson.query.results.channel对象的属性,该属性目前仅在success范围内可用处理程序。此外,使用async:false不能与jsonp一起使用,因此将所有数据处理代码放在成功处理程序中:

    success: function (json) {
        var titles = json.query.results.channel.item.map(function (item) {
            return item.title;
        });
        $(".container-list-podcast ul").append('<li>' + titles.join('</li><li>'));
    },

演示:http://jsfiddle.net/eYwX3/2/