【发布时间】:2015-01-08 21:52:31
【问题描述】:
我想给出全局变量“title”的值(在函数 getInfo 中定义),但我在 alert(title) 处得到的只是“未定义”。当然我可以将警报放在最后一个函数中,但为什么我不能这样工作?
//[...]
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
}
【问题讨论】:
-
原因是
alert(title)在getInfo之前被执行。为什么是因为getJSON花费了一些时间来获取数据,但是在执行alert(title)的同时,这就是原因。
标签: javascript json variables