[英]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.