0

我正在尝试通过JSON. 此代码在 Chrome 中运行良好,但在 Firefox 中无法运行。我的代码如下:

function test(url){

  var youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1");
  var video_id= youtube_id;
    $.get('http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=json', function(data) {
    var title = data.entry.title.$t;
    var description = data.entry.media$group.media$description.$t;
    var thumbnail = data.entry.media$group.media$thumbnail[0].url; // URL of the image

   document.writeln(thumbnail);
   document.writeln(description);// Use these variables somewhere
});
}

在此先感谢 - 任何帮助将不胜感激。

4

1 回答 1

0

您需要为 ajax 请求指定数据类型,以便它在 Firefox 和 chrome 中工作。Chrome 会自动为您的成功回调解析 JSON,而 firefox 不会。

所以:

function test(url){

  var youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1");
  var video_id= youtube_id;
    $.get('http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=json', function(data) {
    var title = data.entry.title.$t;
    var description = data.entry.media$group.media$description.$t;
    var thumbnail = data.entry.media$group.media$thumbnail[0].url; // URL of the image

   document.writeln(thumbnail);
   document.writeln(description);// Use these variables somewhere
}, "json");
}

为我工作。

这是一个适用于 chrome 和 firefox 的 jsfiddle:http: //jsfiddle.net/8dyWr/1

和get方法签名:

jQuery.get( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )

来自:http ://api.jquery.com/jQuery.get/

于 2013-01-16T20:59:15.040 回答