Javascript 用户使用cordova登录
我发现sql处理错误sql:此处定义不足。这里我检查登录表单是否与名为student的数据库匹配,如果有匹配的,则会弹出一个带有欢迎消息的警报弹出窗口并传输到下一页。如何修复代码Javascript 用户使用cordova登录,javascript,android,jquery-mobile,cordova,Javascript,Android,Jquery Mobile,Cordova,我发现sql处理错误sql:此处定义不足。这里我检查登录表单是否与名为student的数据库匹配,如果有匹配的,则会弹出一个带有欢迎消息的警报弹出窗口并传输到下一页。如何修复代码 document.addEventListener("deviceready", onDeviceReady, false); var db; function onDeviceReady() { db = window.openD
document.addEventListener("deviceready", onDeviceReady, false);
var db;
function onDeviceReady() {
db = window.openDatabase("Database", "1.0", "Student",2*1024*1024);
db.transaction(createDB, errorCB, successCB);
}
function loginForm(){
db.transaction(checkDB, errorCB);
$.mobile.changePage("#page5",{reverse:false,transition:"slide"});
return false;
}
function checkDB(tx){
var _matric=$("[name='matric']").val();
var _password=$("[name='password']").val();
var sql ='select * from STUDENT where matric='+_matric+' and password='+_password+'';
tx.executeSql(sql,[],successLoginDB,errorCB);
}
function successLoginDB(tx,results){
var len = results.rows.length;
var _name =$("[name='name']").val();
if (len==1) {alert("Welcome "+_name);}
}
首先,您的代码易受攻击,请使用args进行修复:
function loginForm(){
db.transaction(checkDB, errorCB);
$.mobile.changePage("#page5",{reverse:false,transition:"slide"});
return false;
}
function checkDB(tx){
var matric=$("[name='matric']").val();
var password=$("[name='password']").val();
var sql ='select * from STUDENT where matric = ? and password = ?';
tx.executeSql(sql,[matric, password],successLoginDB,errorCB);
}
function successLoginDB(tx,results){
var len = results.rows.length;
var name =$("[name='name']").val();
if (len==1) {alert("Welcome "+name);}
}
关于错误;我确信您正在尝试在加载cordova之前使用webSQL。您需要等待“DOM就绪”(用于读取文本输入)和“deviceready”才能访问WebSQL:
document.addEventListener("deviceready", onDeviceReady, false);
var onDeviceReady = function () {
// Start here.
}
请发布更多信息。这是我的起始代码,但我仍然收到错误消息