0

大家好,我正在做我的第一个 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

4

1 回答 1

1

您的item变量未定义:item您唯一拥有的是json.query.results.channel对象的属性,该属性当前仅在您的success处理程序范围内可用。此外,usingasync: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/

于 2013-08-12T21:01:53.707 回答