Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript transaction.executeSql成功函数错误_Javascript_Html_Sqlite - Fatal编程技术网

Javascript transaction.executeSql成功函数错误

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

我执行了一个从db中选择数据并显示警报的函数,但在成功函数中出现以下错误:

无法读取未定义的retrieveData的属性“行”

这是我的功能

 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时,该函数不会被调用——请在允许后标记答案。很乐意帮忙。