我正在尝试将 Select 语句的结果打印到 HTML 中的列表中。我正在使用 Web SQL(这是项目的要求)来存储我的表。
我的选择语句:
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM games', [], function (tx, results) {
var len = results.rows.length;
for (i=0; i <= len; i++){
$('#scores ul').append('<li><span class="alley">' + results.rows.item(i).alley + '</span><br><span class="date">' + results.rows.item(i).date + '</span></li>');
}
});
});
当我运行代码时,它正确显示列表中游戏表的所有记录,但我在这一行收到“未捕获的范围错误:项目索引超出范围”错误:
$('#scores ul').append('<li><span class="alley">' + results.rows.item(i).alley + '</span><br><span class="date">' + results.rows.item(i).date + '</span></li>');
对此的任何见解将不胜感激
最佳答案
这是因为您正在检查行
的长度
,而不是项目
。因此,行
的计数正在脱离循环,并且它可能会超过数组中项目
的数量。
改变
var len = results.rows.length;
进入
var len = results.rows.item.length;
应该可以解决问题
关于javascript - 未捕获的范围错误: Item index is out of range error in WebSQL Query Results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20535033/