将SQL查询结果传递给全局变量(db.transaction / tx.executeSql / JavaScript)
|
我有以下问题,将SQL查询的结果传递给全局变量。
我使用这个非常简单的资源
var aGlobal = new Array();
db.transaction( function( tx ) {
tx.executeSql( \'SELECT * FROM AddressBook\', [], getSQLValues )
});
function getSQLValues(tx, SQLResultSet) {
for (var i=0; i < SQLResultSet.rows.length; i++) {
aGlobal[i] = SQLResultSet.rows.item(i);
}
}
console.log(aGlobal.length); // 0
alert( aGlobal.length ); // no Values get passed WITHOUT this alert!
console.log(aGlobal.length); // equals SQLResultSet.rows.length
for (var i=0; i < aGlobal.length; i++) {
console.log(aGlobal[i][\'id\']+\' - \'+aGlobal[i][\'AddrValues\']); // can see the values
}
该数据库存在,
数据库包含有效数据,
数据库是本地的
html文件是本地文件,
本地html文件在Safari中本地打开。
警报弹出后,只能由其他脚本访问存储在全局数组中的SQLResultSet的行。在没有警报的情况下,我在检查控制台时可以看到全局数组的内容。
关于如何在没有警报的情况下达到全局数组内容的任何建议?
顺便说一句,警报也可以只读取
alert(\'blah\');
预先感谢您提供任何有用的答案,
卡尔
没有找到相关结果
已邀请:
1 个回复
埃庐