无法从youtube通过json提取video

有时我在json提取youtubevideo时遇到此错误,这是一个例子:

XMLHttpRequest无法加载https://gdata.youtube.com/feeds/api/users/IcarusTouma?&alt=json 。 Access-Control-Allow-Origin不允许使用origin http:// localhost 。

我尝试使用jsonp,但youtube不接受jsonp。

从youtube中提取video。

$. getJSON ('https://gdata.youtube.com/feeds/api/videos/' + id_video + '? & alt = json', function (data) { if (typeof data! == "undefined" && data) { var title = data ['entry'] ['title'] ['$ t']; var thumb = data ['entry'] ['media $ group'] ['media $ thumbnail'] [0] ['url']; var title = data ['entry'] ['author'] [0] ['name'] ['$ t']; $. getJSON ('https://gdata.youtube.com/feeds/api/users/' + author + '? & alt = json', function (data) { author_thumbnail var = data ['entry'] ['media $ thumbnail'] ['url']; $ ('.items').append(html_carousel (thumb, title, author_thumbnail, author, 5,' youtube ', id_video, author')); }); } }); 

刚刚检查了YouTube数据API参考文档,对于JSON和较新的JSON-C格式,它们都接受JSON-P,允许您通过callback GET字符串参数指定回调。 此链接将certificate这是真的:

https://gdata.youtube.com/feeds/api/videos?q=baseball&v=2&alt=jsonc&callback=functionName

在这种情况下,长JSON对象返回包含在对functionName的函数调用中。 下一个URL是相同的调用,但是使用较旧的(有些已弃用)JSON格式:

https://gdata.youtube.com/feeds/api/videos?q=baseball&v=2&alt=json&callback=functionName

数据有点不同,但结果集相同,包含在另一个对functionName调用中。 现在,这些调用是查询以获得与搜索参数(“棒球”)匹配的video。 但我确定仔细阅读他们的参考文档(对于JSON-C和JSON格式)将产生正确的工作,作为JSONP调用,指定查询字符串中的回调。

在ajax调用中使用dataType: 'jsonp'

请参阅: http : //jsfiddle.net/D4tEk/