我目前正在使用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不会改变任何内容。有没有人知道为什么变量没有传递给回调函数?