jQuery $ .get和$ .parseXML获取Vimeo视频时长

时间:2015-08-30 12:28:40

标签: javascript jquery

在我甚至加载播放器之前,我需要在vimeo上获取特定视频的持续时间,所以我看不到其他选项而不是进行AJAX调用并尝试获取有关视频的信息。我准备了以下结构:

$.get( "http://vimeo.com/api/v2/video/8957328.xml", function( data ) {
  var xmlDoc = $.parseXML(data),
  $duration = $(xmlDoc).find("title");
  $('div').html($duration.text());
});

正如我所说,XML已被正确解析,但我无法获得最终数据,而且我甚至不知道为什么它无法正常工作。有什么帮助吗?

JSFiddle:http://jsfiddle.net/nLz8k31v/

1 个答案:

答案 0 :(得分:3)

jQuery本身会为您解析响应,即data已经过XML解析。只需将data传递给jQuery构造函数即可。

$.get( "http://vimeo.com/api/v2/video/8957328.xml", function( data ) {
  var $xmlDoc = $(data),
      $duration = $xmlDoc.find("title");
  $('div').html($duration.text());
});

您的代码无效,因为$.parseXML的传递值不是字符串the .parseXML method returns null

jQuery.parseXML = function( data ) {
    var xml;
    if ( !data || typeof data !== "string" ) {
        return null;
    }
    // ...
};