jQuery中的错误(未定义的变量)

时间:2010-01-06 07:26:47

标签: javascript jquery

为什么JSON提要在为其他变量工作时返回未定义的变量?我做错了什么或忽略了什么?感谢。

1 个答案:

答案 0 :(得分:2)

如果你看一下响应中的内容:

curl http://gdata.youtube.com/feeds/users/kaycor/favorites?alt=json-in-script&callback=mycallback

你看到entry.media $ group和entry.yt $ statistics不存在:

gdata.io.handleScriptLoaded({
    "feed": {
        // snip ...
        "entry": [{
            // snip ...
            "media$group": {
                "media$category": [{
                    // snip ...
                }],
                "media$title": {
                    // snip ...
                }
            }
        }]
    }
});

修改:并非所有项目都包含media$content数组,因此您应该将每个块修改为以下内容:

$.each(data.feed.entry, function(i, item){
    var uploader = item['author'][0]['name']['$t'];
    if (item['media$group']['media$content']) {
        var URL = item['media$group']['media$content'][0]['url'];
        var thum = item['media$group']['media$thumbnail'][0]['url'];
    }
});

我为此编写了一个快速测试脚本,并且使用if子句,它不再抛出错误。