未捕获的RangeError:项目索引在WebSQL查询结果中超出范围错误

时间:2013-12-12 04:26:26

标签: javascript html5 web-sql outofrangeexception

我正在尝试将结果打印到我的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>');

非常感谢对此的任何见解

1 个答案:

答案 0 :(得分:0)

这是因为您正在检查length的{​​{1}},而不是rows。因此,items的计数会抛弃循环,并且可能超过数组中rows的数量。

更改

items

 var len = results.rows.length;

应该做的伎俩