我目前正在使用phonegap 中的webkit SQLite 构建一个带有phonegap 的应用程序。这样做我在将变量插入 SQLite 表时遇到问题:
function addTrack(track){
var trackItem = track;
alert(trackItem.name);
db.transaction(addingTrack, errorCB);
function addingTrack(tx) {
alert (trackItem.name);
tx.executeSql('INSERT INTO Tracks (name) VALUES ("' + trackItem.name + "')');
}
}
正如我所料,第一个警报返回轨道的名称,而第二个警报返回一个空字符串。请注意,第二个警报中的属性 trackItem.name 似乎已定义,但仅包含一个空字符串,而不是根本没有定义。
trackItem 不会在脚本中的其他任何地方使用。此外,在脚本开头全局声明 trackItem 不会改变任何内容。有谁知道为什么没有将变量传递给回调函数?