Javascript 使用jQuery解析JSON时,在Chrome中获取错误:NOT\u FOUND\u ERR:DOM异常8

Javascript 使用jQuery解析JSON时,在Chrome中获取错误:NOT\u FOUND\u ERR:DOM异常8,javascript,jquery,Javascript,Jquery,我在控制台中使用JSFiddle和Chrome时遇到了这个错误:当我试图用jQuery解析Flickr提要时 代码: // a flickr rss feed i am trying to parse. var yql3 = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D%22http%3A%2F%2Fapi.flickr.com%2Fservices%2Ffeeds%2Fp

我在控制台中使用JSFiddle和Chrome时遇到了这个错误:当我试图用jQuery解析Flickr提要时

代码:

// a flickr rss feed i am trying to parse.
var yql3 = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D%22http%3A%2F%2Fapi.flickr.com%2Fservices%2Ffeeds%2Fphotos_public.gne%3Fid%3D76250020%40N04%26lang%3Den-us%26format%3Drss_200%22&format=json&diagnostics=true&callback=?";

$.getJSON(yql3, function(cbfunc) {

    var eachImageArr = $(cbfunc.query.results.rss.channel.item);

    $(eachImageArr).each(function() {
        $('body').append(this.description);
    });

});​

谢谢你的帮助

问题在于,在数组的第18个元素中,描述实际上是一个数组,第一个元素是您所期望的,第二个元素是另一个对象

description: Array[2]
0: "            <p><a href="http://www.flickr.com/people/jonathanbell/">jonathanbell.ca</a> posted a photo:</p>↵    ↵<p><a href="http://www.flickr.com/photos/jonathanbell/7290239398/" title="120405_sophia_004"><img src="http://farm8.staticflickr.com/7075/7290239398_3c4b7905da_m.jpg" width="180" height="240" alt="120405_sophia_004" /></a></p>↵↵<p>sophia dishaw</p>"
1: Object
    content: "<p>sophia dishaw</p>"
    type: "html"
说明:数组[2]
0:“发布了一张照片:

↵ ↵

↵↵ 索菲亚·迪沙 1:对象 内容:“索菲亚·迪沙

” 键入:“html”

我对flickr api不够熟悉,无法告诉您第二个字段是什么,但它似乎是一个名称。

问题是,在数组的第18个元素中,描述实际上是一个数组,第一个元素是您期望的,第二个元素是另一个对象

description: Array[2]
0: "            <p><a href="http://www.flickr.com/people/jonathanbell/">jonathanbell.ca</a> posted a photo:</p>↵    ↵<p><a href="http://www.flickr.com/photos/jonathanbell/7290239398/" title="120405_sophia_004"><img src="http://farm8.staticflickr.com/7075/7290239398_3c4b7905da_m.jpg" width="180" height="240" alt="120405_sophia_004" /></a></p>↵↵<p>sophia dishaw</p>"
1: Object
    content: "<p>sophia dishaw</p>"
    type: "html"
说明:数组[2]
0:“发布了一张照片:

↵ ↵

↵↵ 索菲亚·迪沙 1:对象 内容:“索菲亚·迪沙

” 键入:“html”

我对flickr api不太熟悉,无法告诉您第二个字段是什么,但它似乎是一个名称。

如果您查看返回的实际JSON,您会注意到
描述
项的可能格式可以是:

"description": ["html stuff", {some object}]
当循环浏览每个描述时,您可以检查它是否是数组,如果是,请将
[0]
索引附加到正文中。比如:


但显然,API需要进行更多的调查,以确保不会发生其他特殊情况……或者至少尝试解释类似的情况。

如果您查看实际返回的JSON,您会注意到
描述
项的可能格式可以是:

"description": ["html stuff", {some object}]
当循环浏览每个描述时,您可以检查它是否是数组,如果是,请将
[0]
索引附加到正文中。比如:


但显然,API需要进行更多的调查,以确保其他特殊情况不会发生……或者至少尝试解释类似的情况。

在四处摆弄,最后的结果包含一些与数组等有关的奇怪内容,仅删除它就修复了错误:@adeneo数组是问题所在,但删除它不是解决方案。只需组合数组元素并附加这些元素就有意义了,不过这是可以做到的…@adeneo-Lame-solution。你甚至用小提琴测试了它。@Ian-我意识到移除最后一个对象不是一个解决方案,我只是说去掉最后一个对象可以消除错误。@adeneo Good point,不应该这么认真:)是在摆弄,最后的结果有一些奇怪的数组内容等等,删除它修复了错误:@adeneo数组是问题所在,但删除它不是解决方案。只需组合数组元素并附加这些元素就有意义了,不过这是可以做到的…@adeneo-Lame-solution。你甚至用小提琴测试了它。@Ian-我意识到删除最后一个对象不是一个解决方案,我只是说,去掉最后一个对象可以消除错误。@adeneo很好,不应该这么认真:)@NuclearHost谢谢!好眼力!:)我必须找出一些if语句来检查该项是否实际上是一个数组,如果是,则使用[0]元素(我也不太了解Flickr API…)。你们都认为这是最好的方法吗?谢谢你的帮助!再次感谢。:)@谢谢主持人!好眼力!:)我必须找出一些if语句来检查该项是否实际上是一个数组,如果是,则使用[0]元素(我也不太了解Flickr API…)。你们都认为这是最好的方法吗?谢谢你的帮助!再次感谢。:)哦,老兄,你参加聚会有点晚了,但这是个很好的回答。我确实投了你一票。谢谢!:)哦,相信我,我没有迟到——自从你问这个问题以来,我一直在看这个节目,并试图弄明白。我参加“提供答案”晚会迟到了。但无论如何,这实际上为你的问题提供了一个解决方案。这可能不是一个包罗万象的答案(因为我们不确定API现在能给你带来什么样的曲线球),但它似乎是有效的,不会带来例外……哦,天哪,你参加聚会有点晚了,但这是一个很好的答案。我确实投了你一票。谢谢!:)哦,相信我,我没有迟到——自从你问这个问题以来,我一直在看这个节目,并试图弄明白。我参加“提供答案”晚会迟到了。但无论如何,这实际上为你的问题提供了一个解决方案。这可能不是一个包罗万象的答案(因为我们不确定API现在可以向您抛出什么样的曲线球),但它似乎是有效的,不会抛出异常。。。