jas*_*328 12 javascript sql ios cordova ionic
我已经$cordovaSQLite加入了我的离子应用程序.这是代码的基本示例.
function retrieve() {
var q = $q.defer();
var query = 'SELECT user_credentials, user_id FROM Users;';
$ionicPlatform.ready(function (){
$cordovaSQLite.execute(db, query).then(function(res) {
if (res.rows.length > 0) {
console.log("found user");
console.log(res);
console.log(JSON.stringify(res));
q.resolve(res.rows[0]);
} else {
console.log("no rows found");
q.resolve(false);
}
}, function (err) {
q.reject(err);
});
});
return q.promise;
}
Run Code Online (Sandbox Code Playgroud)
这是打开db的代码.
if(window.cordova) {
// App syntax
db = $cordovaSQLite.openDB( "CoolApp.db" );
} else {
// Ionic serve syntax
db = window.openDatabase("CoolApp.db", "1.0", "Cool App", -1);
}
Run Code Online (Sandbox Code Playgroud)
当我在Chrome上测试我的应用时,我的日志显示了这一点
rows: SQLResultSetRowList
0: Object
user_credentials: "asdf"
user_id: 234
length: 1
rowsAffected: 0
Run Code Online (Sandbox Code Playgroud)
但是,当我在iOS应用程序或Safari上运行时查看日志时,我收到了
{"rows":{"length":1},"rowsAffected":0,"insertId":1}
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么我没有收到价值rows?为什么这适用于浏览器但不适用于iOS?
您是否尝试为您的浏览器实例化 webSQL 而不是 SQLite DB?
您始终可以返回适用于您设备的 SQLite,但 Chrome 和 Firefox 等现代浏览器不支持 SQLite。
| 归档时间: |
|
| 查看次数: |
435 次 |
| 最近记录: |