簡體   English   中英

JavaScript對象:屬性集,但在訪問時返回未定義

[英]JavaScript Objects: Property Set but Returns undefined When Accessed

問候,

我正在使用這樣定義的JavaScript對象:

var ytVideoData = new Object();

然后,我在jQuery .ajax()中為其分配一個值:

$.ajax({
    type: "GET",
    url: "xmlproxy.php?url="+ytId+"&mode=native",
    success: function(data) {

        ytVideoData.thumbnail = $(data).find("media\\:thumbnail[yt\\:name='default']").attr("url"); // default thumbnail image
    }
});

在另一個功能中,我要訪問剛剛設置的縮略圖屬性。 但是,當我這樣做時:

function addPlaylistItem(tumblrUser, videoData) {
    console.log(videoData.thumbnail);
}

我在控制台中得到的只是“未定義”。 當我做:

console.log(videoData);

我將整個對象記錄到控制台,可以看到在對象內部正確設置的thumbnail屬性,如下所示:

http://mp3.deceast.com/js-objectissue.jpg

在嘗試了幾種不同的方法之后,我似乎無法正常工作。 如何訪問該對象屬性?

通過ajax進行的回調是異步的。 這意味着您無法確定何時將運行成功功能。

可能發生的順序是

$.ajax
addPlaylistItem // undefined
success // defined

嘗試在成功回發中調用該函數

success: function(data) {
    ytVideoData.thumbnail = $(data).find("media\\:thumbnail[yt\\:name='default']").attr("url"); // default thumbnail image
    addPlaylistItem(getTumblrUser(), ytVideoData);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM