窗口.插入SQLite后的位置不起作用



我正在使用phonegap+sqlite。

我正在尝试插入一些东西。

这是代码-

function insertDB() {
        var sqlI = "INSERT INTO post_data(post_text,pdate) VALUES("Hello, world","23-05-2012");
        mydb.transaction(
                             function(transaction) {
                             transaction.executeSql(sqlI, [], nullDataHandler, errorHandler); 
                             });
        console.log("inserted");
        window.location="dashboard.html";
}

当我删除线路window.location="dashboard.html"或将延迟设置为 1000ms 时,我可以插入数据,然后执行 window.location="dashboard.html".但是上面的代码不起作用。为什么?

我认为transaction函数是异步的。尝试将重定向放在上面:

mydb.transaction(
    function(transaction) {
        transaction.executeSql(
            sqlI, 
            [],  
            function(transaction, results){
                // passing transaction and results in case you have to display some returned statements
                window.location="dashboard.html";
            },
            nullDataHandler
        ); 
});

如您所见,重定向将在结果处理程序中处理。

最新更新