0

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;
}

保存.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 a function: 67

4

1 回答 1

1

第一个错误:

似乎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 数组项用[]和 not引用()

希望有帮助。

于 2013-11-14T06:22:14.453 回答