2013-04-07 51 views
0

我想YouTube視頻JSON YouTube API取得

代碼示例

var youstinky = { 

     getYoutubeData : function(){ 
     $.getJSON("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=json",function(data){ 
     this.x = data.feed.entry.map(function(dat){ 
      return { 
      'link' : dat.link[0].href, 
      'name' : dat.title.$t 
      }; 
     }); 
     }); 
     } 

    }; 

$(document).ready(function(){ 
youstinky.getYoutubeData(); 
}); 

我沒能獲得this.x可變youstinky物體之外,

如何我能做什麼?

回答

0

只是讓x成爲一個全局變量。

window.x = // Your code 

而不是...

this.x = // Your code 

然後你就可以,如果你想更具體的只是說 「X」 或 「window.x」 任何地方訪問X。

+0

我知道窗口變量的方法,但爲什麼不工作對象變量的方法? youstinky.x? – 2013-04-07 20:08:22

+1

在$ .getJSON中,您創建了一個匿名函數,充當回調函數。在所有可能的情況下,這個回調中的「this」並不是指你感興趣的,它指的是其他的東西,所以當你設置this.x時,它將其他設置爲x。解決這個問題的一種方法是將「this」分配給回調之外的變量。這裏是一個例子http://jsfiddle.net/EtH8A/。 – 2013-04-07 20:09:53

+0

我明白了,所以解決方案只是窗口變量的方法? – 2013-04-07 20:13:06