【发布时间】:2011-09-19 10:11:41
【问题描述】:
可能重复:
Javascript closure inside loops - simple practical example
我正在使用 web 服务通过使用 javascript 以 JSON 的形式获取数据,并希望将该数据存储在 Sqlite 数据库中。这里我使用for循环通过executeSql Query将数据一一存储到数据库中。但问题是 for 循环中的函数使“i”值超出范围意味着显示未定义。我试图在过去 5 天之前解决这个问题。有什么建议吗?
谢谢
function GetGeoValues() {
$.get("http://example.in/projects/api.php?usn=user&pwd=****&var=something", function (Jdata) {
var geoid = new Array();
var geoname = new Array();
var i;
for (i = 0; i < Jdata.vact_geography.length; i++) {
geoid.push(Jdata.vact_geography[i].geo_id);
geoname.push(Jdata.vact_geography[i].geo_name);
db.transaction(function (transaction) {
alert(geoid[i]); // here i showing undefined
transaction.executeSql('INSERT INTO vact_geography VALUES(' + parseInt(geoid[i]) + ',"' + geoname[i] + '")');
});
}
});
}
【问题讨论】:
-
函数 (transaction,i) 在参数中传递 ivalue
-
@Felix Kling ...非常感谢..你只需保存我接下来的 5 天..在 10 分钟内解决...再次感谢您
标签: javascript sqlite for-loop