我正在尝试从JSON文件中获取值,该文件是以数组形式存储的数据。。这是代码:
JS:
var initDate = new Date("7/9/2013");
var diffDays = 0;
var timeS;
function taqvimSingleDate() {
// Calculation of Dates difference
var currDate = new Date();
diffDays = Math.floor((currDate.getTime() - initDate.getTime()) / (1000 * 60 * 60 * 24));
$.getJSON('allData.json', function(data) {
if (data != '' || data != undefined) {
var addTohtml = '';
addTohtml += '<td>' +data[diffDays].date_g+ '</td>';
$('#singleDate').html(addTohtml);
// Display appropriate time according to location (01 or 02 etc.)
switch(getCity) {
case '01': $('#sahari').html(data[diffDays].sahar_1);
timeS = data[diffDays].sahar_1;
break;
case '02': $('#sahari').html(data[diffDays].sahar_2);
timeS = data[diffDays].sahar_2;
break;
case '03': $('#sahari').html(data[diffDays].sahar_3);
timeS = data[diffDays].sahar_3;
break;
case '04': $('#sahari').html(data[diffDays].sahar_4);
timeS = data[diffDays].sahar_4;
break;
}
} else {alert("Database is undefined/empty!");}
});
}
alert(timeS);
元素#sahari
的结果显示正确(根据getCity的值),但问题是我的timeS
变量是未定义,我被困在这里。如何将#sahari
的值正确传递给timeS
变量?
实际上,您的值存储在timeS
中,但此时无法使用它。只有在您的回调成功通过后,它才可用。在回调函数中调用一个正在处理所需变量的函数,您将能够访问timeS
。