当我尝试使用Chrome API v2检索播放列表时,我在Chrome控制台中不断得到响应,表明加载的文件是错误的类型,并且是文档,而不是YouTube。下面是我使用的代码:
$.get('https://gdata.youtube.com/feeds/api/playlists/8BCDD04DE8F771B2?v=2',
function(data)
{
var doc = data;
console.log( data );
});
控制台中的结果是:#document
,其中我期望的结果是一个XML文档。
发布于 2013-01-25 21:36:35
好了,这是xml,这是由jquery表示的xml
您可以使用xml2json
发布于 2013-01-26 17:40:42
您肯定会从提要中获取一个jQuery文档,如果您希望确保您的xml请求能够识别它,您也可以像这样指定"dataType“参数:
$.get('https://gdata.youtube.com/feeds/api/playlists/8BCDD04DE8F771B2?v=2',
function(data)
{
console.log( 'An xml feed is being retrieved, true or false:'+($(data).children('feed').length == 1).toString());
},'xml');
或者使用普通的错误方法,该方法也可以通过使用“$.ajax”选项来帮助调试:
$.ajax({
url: 'https://gdata.youtube.com/feeds/api/playlists/8BCDD04DE8F771B2?v=2',
dataType: 'xml',
success: function(data){
console.log( 'An xml feed is being retrieved, true or false:'+($(data).children('feed').length == 1).toString());
},
error: function(xhr,stat,err){ console.log(stat+': '+err); }
});
下面是一个使用$.ajax方法的示例,实际上它甚至在没有指定dataType参数的情况下就被识别为有效的xml:http://jsfiddle.net/UZddq/2/
使用json也可能更容易。您可以通过在url中指定"alt“参数来检索json格式的youtube提要:
$.ajax({
url: 'https://gdata.youtube.com/feeds/api/playlists/8BCDD04DE8F771B2?v=2&alt=json',
dataType: 'json',
success: function(data){
console.log( 'A json feed is being retrieved, true or false:'+data.hasOwnProperty('feed').toString());
},
error: function(xhr,stat,err){ console.log(stat+': '+err); }
});
下面是json版本示例:http://jsfiddle.net/hvFQj/2/
https://stackoverflow.com/questions/14530732
复制相似问题