index.js
var processResult = function (items) {
return items;
};
function queryDB(callback) {
var sqlTxt = "SELECT * FROM DEMO";
db.transaction(
function (tx) {
tx.executeSql(sqlTxt, [],
function (tx, results) {
var item_Codes = [];
for (var i = 0; i < results.rows.length; i++) {
item_Codes.push({
item_code: results.rows.item(i).itemCode
});
}
callback(item_Codes);
}), errorCB;
});
return false;
}
Save.js
queryDB(processResult, function (arr) {
$.each(arr, function (i, elem) {
});
});
我使用上面的代码从内部存储中检索数据并在阵列中正常运行。但是给出以下错误11-14 11:34:03.929:E / Web Console(8538):Uncaught TypeError:undefined is not function: 67
第一个错误:
似乎queryDB
只接受1个参数(回调),但您要传递2。
尝试通过替换save.js来仅传递回调:
queryDB(processResult, function(arr) {
用。。。来代替:
queryDB(function(arr) {
之所以会导致您的异常,是因为传递的参数processResult
正试图作为函数触发(充当“回调”参数,我想您是不希望的)。
第二个错误:
代替:
item_code: results.rows.item(i).itemCode
和:
item_code: results.rows.item[i].itemCode
javascript数组项目是用[]
而不是引用的()
。
希望能有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句