我想给出全局var" title"的值(在函数getInfo中定义)。但我得到的警报(标题)是"未定义"。当然,我可以将警报放在最后一个功能中,但为什么我不这样做?
//[...]
var title;//global var
$(document).ready(
function(){
$.getJSON(url, displayImages)//open func displayImages
});
function displayImages(data) {
$.each(data.photoset.photo, function(i,item){
$.getJSON(url+item.id+"&format=json&jsoncallback=?", getInfo);//open func getInfo
alert(title);//output: undefined
});
}
function getInfo(data2){
title = data2.photo.title._content;//get value of title from json
}
答案 0 :(得分:1)
$.getJSON
是异步的,这意味着如果您在getInfo
方法中发出提醒,则会在<{em> alert(title)
之后触发,即使它是在它之前。
你可以解决这个问题:
$.getJSON(url+item.id+"&format=json&jsoncallback=?", function(data) {
getInfo(data);
alert(title);
});