我正在以这种方式使用它,我仍然会收到一个错误,我将在下面粘贴。 我在我的Motorola Razr上使用Android 4.1.2进行测试。 差不多这就是它。 噢,另一点,如果我尝试在App.onDeviceReady中使用'this.buscarServidores',则返回错误,说'this'上没有这样的东西。 救命! ;(
var App = {
initialize: function() {
App.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', App.onDeviceReady(), false);
},
onDeviceReady: function() {
dB = App.getDB();
dB.transaction(App.populateDB, App.errorDB, App.buscarServidores);
},
getDB: function() {
if (typeof this.dB === 'undefined') {
this.dB = window.openDatabase("mysqlnavigator", "1.0", "MySQL Navigator", 10000000);
}
return App.dB;
},
errorDB: function(err) {
alert("Erro (" + err.code + "): BANCO DE DADOS");
console.log(err.message);
},
populateDB: function(tx) {
tx.executeSql("CREATE TABLE IF NOT EXISTS servidores (id INTEGER PRIMARY KEY AUTOINCREMENT, host TEXT, porta TEXT, usuario TEXT, senha TEXT, ultimologin TEXT)");
tx.executeSql("INSERT INTO servidores (host, porta, usuario, senha) VALUES ('jorgeferrari.com.br', '3306', 'jorgefer_and', '321654987');");
console.log("Databases Populated");
},
buscarServidores: function() {
db = App.getDB();
db.transaction(App.txBuscaServidores, App.errorDB);
},
txBuscarServidores: function(tx) {
console.log('txBuscarServidores');
tx.executeSql("SELECT * FROM servidores", [], sBuscaServidores, errorDB);
},
sBuscaServidores: function(tx, resultados) {
console.log('sBuscaServidores');
if (resultados.rows.length > 0) {
var txResultados = '';
for (i = 0; i < resultados.rows.length; i++) {
txResultados += resultados.rows.item(i).host + ":" + resultados.rows.item(i).porta + "<br/>";
}
$('.resultados').html(txResultados);
} else {
$('.resultados').html("Nenhum resultado encontrado");
}
},
dB: undefined
};
我得到的错误就是这个:
02-28 10:18:44.638 10128 10128 D CordovaLog: file:///android_asset/www/js/app.js: Line 25 : Databases Populated
02-28 10:18:44.708 10128 10128 D CordovaLog: file:///android_asset/www/js/app.js: Line 29 : Uncaught Error: TYPE_MISMATCH_ERR: DOM Exception 17
第29行将是:
db.transaction(App.txBuscaServidores, App.errorDB);
EDIT 事件,如果我之前使用此而不是在对象内的应用程序,我得到此错误 02-28 10:27:51.224 10289 10289 D Cordova日志:file:///android_asset/www/js/app.js:第29行:未捕获的错误:TYPE_MISMATCH_ERR:DOM异常17
答案 0 :(得分:0)
这是错误的错误......
db.transaction(App.txBuscaServidores, App.errorDB);
应该是
db.transaction(App.txBuscarServidores, App.errorDB);