2013-12-12 41 views
1

我試圖將結果打印到我的Select語句中,並放入HTML中的列表中。我正在使用Web SQL(這是項目的一項要求)來存儲我的表。未捕獲RangeError:項目索引在WebSQL查詢結果中超出範圍錯誤

我的SELECT語句:

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

這是因爲你正在檢查的的,而不是items。因此rows的計數正在拋出循環,並且可能會超過數組中的items

更改

var len = results.rows.length; 

進入

var len = results.rows.item.length; 

應該做的伎倆

+0

這隻返回的表的第一個記錄。我將它切換回我之前使用的代碼,並且不再拋出錯誤。我很困惑,但截至目前,沒有錯誤。 謝謝你的幫助 – Narutkowski