Javascript youtube播放列表返回为'#文件';而不是XML文档
当尝试使用YouTube开发者API v2检索播放列表时,我在Chrome控制台中不断得到一个响应,即加载的文件类型错误,是一个文档,而不是XML。以下是我正在使用的代码:Javascript youtube播放列表返回为'#文件';而不是XML文档,javascript,jquery,youtube-api,Javascript,Jquery,Youtube Api,当尝试使用YouTube开发者API v2检索播放列表时,我在Chrome控制台中不断得到一个响应,即加载的文件类型错误,是一个文档,而不是XML。以下是我正在使用的代码: $.get('https://gdata.youtube.com/feeds/api/playlists/8BCDD04DE8F771B2?v=2', function(data) { var doc = data; console.log( data ); }); 控制台中的结果是:#docu
$.get('https://gdata.youtube.com/feeds/api/playlists/8BCDD04DE8F771B2?v=2',
function(data)
{
var doc = data;
console.log( data );
});
控制台中的结果是:
#document
,我希望结果是一个XML文档。没关系,它是XML,这是jquery的XML表示
您可以使用确保从提要获取xml文档,如果您希望确保jQuery ajax请求能够识别它,您可以指定“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');
或者使用longhand$.ajax方法,也可以使用“error”选项帮助调试:
$.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方法的示例,实际上,它被识别为有效的xml,甚至不指定数据类型参数:
使用json也可能更容易。通过在url中指定“alt”参数,可以从youtube检索json格式的提要:
$.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版本示例:#document
表示XML文档。如果要将其作为文本,请在回调函数后添加,“text”
。jQuery试图通过自动将其转换为XML文档来节省您的时间。