javascript - jQuery $.get 和 $.parseXML 获取 Vimeo 视频持续时间

标签 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/

最佳答案

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;
    }
    // ...
};

关于javascript - jQuery $.get 和 $.parseXML 获取 Vimeo 视频持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32296571/

相关文章:

javascript - anchor 标记下载属性不起作用 :Bug in Chrome 35. 0.1916.114

jquery - 超过多部分主体长度限制 16384

javascript - 为 IE11 中的 JavaScript 问题创建稳定的排序

javascript - 当计时器达到 0 时停止 jquery 倒计时

javascript - keydown() 和 Web Audio API 触发了太多事件

javascript - Emberjs #each 循环不适用于数组数据

javascript - 如果值与 master 匹配,则替换文本框的值,然后替换为 yes,否则替换为 no

javascript - 当另一个 div 打开时关闭另一个 div

jQuery。如何执行从 JSON 加载的脚本?

javascript - 使用 jquery 或 javascript 在选择框中隐藏重复的选项文本值