gpt4 book ai didi

javascript - Phonegap/Cordova WebSql 事务未触发

转载 作者:行者123 更新时间:2023-11-28 08:07:18 26 4
gpt4 key购买 nike

我正在使用cordova的最新版本(3.5),我想使用WebSQL保存一些数据,但是当我调用database.transaction(query,success,error)时它什么也不做。我的成功方法和错误方法都有alert()来通知错误或成功,但它们都没有触发。

这是我的代码:

    function onDeviceReady(){
var db = window.openDatabase("Database", 1, "PhoneGap Demo");
db.transaction(populateDB, errorCB, successCB);
}

function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS DEMO');
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}

function errorCB(err) {
alert("Error processing SQL: "+err.code);
}

function successCB() {
alert("success!");
}

正如我所说,警报框没有显示。可能是什么问题呢?了解更多信息:我正在使用 Cordova 3.5 并在 iPhone 模拟器上进行测试。我用我的笔记本电脑在 Chrome 上执行了代码,似乎可以工作。

最佳答案

环境: Cordova 3.4
设备:模拟器(Nexus 7)
操作系统:Android KitKat 4.4
我刚刚检查了您的代码并在线收到错误“参数数量不足”

var db = window.openDatabase("Database", 1, "PhoneGap Demo");

根据 API 文档,应该有四个参数,我将代码更改为

var db = window.openDatabase("Database", "1.0", "PhoneGap Demo", 1000);

并且成功了。最后一个参数是数据库的初始大小(以字节为单位)。

希望上述解决方案也适用于 iPhone。

我使用 console.log() 调用以及alert() 进行调试。

关于javascript - Phonegap/Cordova WebSql 事务未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24673458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com