我正在尝试将结果打印到我的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>');
}
});
});
当我运行我的代码时,它会正确显示列表中游戏表的所有记录,但是我在此行中收到“未捕获的RangeError:项目索引超出范围”错误:
$('#scores ul').append('<li><span class="alley">' + results.rows.item(i).alley + '</span><br><span class="date">' + results.rows.item(i).date + '</span></li>');
非常感谢对此的任何见解
答案 0 :(得分:0)
这是因为您正在检查length
的{{1}},而不是rows
。因此,items
的计数会抛弃循环,并且可能超过数组中rows
的数量。
更改
items
向
var len = results.rows.length;
应该做的伎俩