Javascript transaction.executeSql成功函数错误
我执行了一个从db中选择数据并显示警报的函数,但在成功函数中出现以下错误: 无法读取未定义的retrieveData的属性“行” 这是我的功能Javascript transaction.executeSql成功函数错误,javascript,html,sqlite,Javascript,Html,Sqlite,我执行了一个从db中选择数据并显示警报的函数,但在成功函数中出现以下错误: 无法读取未定义的retrieveData的属性“行” 这是我的功能 function selectAll(){ DB.transaction( function(transaction) { transaction.executeSql("SELECT * FROM CDprodutos", [], retrieveData()); //The retrieveData function is wher
function selectAll(){
DB.transaction(
function(transaction) {
transaction.executeSql("SELECT * FROM CDprodutos", [], retrieveData()); //The retrieveData function is where the data is sent/returned to in parameters (transation, results)
});
}
function retrieveData(transaction, results) {
for(var i = 0; i < results.rows.length; i++) {
var data = results.rows.item(i)['id']
alert(data.value);
}
}
函数selectAll(){
数据库事务(
职能(事务){
transaction.executeSql(“从CDprodutos中选择*,[],retrieveData());//retrieveData函数是在参数(transaction,results)中发送/返回数据的位置
});
}
函数retrieveData(事务、结果){
对于(var i=0;i
看起来您的函数正在立即执行,而且没有数据被传递给它,因此显然行
属性来自未定义。
通过在检索数据
之后写入()
,您将立即调用函数。删除()
以将其用作回调
您似乎还需要将数据传递给它,因此匿名函数可能会在这里起作用:
function selectAll(){
DB.transaction(
function(transaction) {
transaction.executeSql("SELECT * FROM CDprodutos", [], function() {
retrieveData(transation, results); //not sure where results comes from? parameter of function??
});
});
}
function retrieveData(transaction, results) {
for(var i = 0; i < results.rows.length; i++) {
var data = results.rows.item(i)['id']
alert(data.value);
}
}
函数selectAll(){
数据库事务(
职能(事务){
executeSql(“从CDprodutos中选择*,[],函数(){
retrieveData(事务,结果);//不确定结果来自何处?函数的参数??
});
});
}
函数retrieveData(事务、结果){
对于(var i=0;i
正在立即调用retrieveData()
。删除executeSql
语句中的()
retrieveData调用。另外,您需要将参数传递给它,因此您可能需要一个anon.function。当我删除()@shadsauhduisad时,该函数不会被调用——请在允许后标记答案。很乐意帮忙。