Jquery PhoneGAP:将工作代码从Android平台移植到iOS

Jquery PhoneGAP:将工作代码从Android平台移植到iOS,jquery,ios,sqlite,jquery-mobile,cordova,Jquery,Ios,Sqlite,Jquery Mobile,Cordova,我最近完成并提交了一个针对Android的离线版调查应用程序 现在,www目录中的“代码”正在移植到iOS 我认为AppCode和Xcode都很难使用——这可能是因为调试没有针对web编码进行优化。 昨晚我花了1.5个小时查看拼写错误“serInterval”->“setInterval”。 这很容易被IntelliJ IDEA识别出来 现在我陷入了一些SQlite代码中,这些代码应该将调查结果存储在本地数据库中,并在设备上线时将其同步到我们的云系统 我可以通过console.log()看到我的

我最近完成并提交了一个针对Android的离线版调查应用程序

现在,www目录中的“代码”正在移植到iOS

我认为AppCode和Xcode都很难使用——这可能是因为调试没有针对web编码进行优化。 昨晚我花了1.5个小时查看拼写错误“serInterval”->“setInterval”。 这很容易被IntelliJ IDEA识别出来

现在我陷入了一些SQlite代码中,这些代码应该将调查结果存储在本地数据库中,并在设备上线时将其同步到我们的云系统

我可以通过console.log()看到我的函数正在运行,但没有任何内容放入表中

将调查发布到本地数据库的代码为:

$(document).ready(function() {
        $('input#submitForm').live('click', function() {
            var formData = $('#questForm').serializeArray();
            var jsonFormData = JSON.stringify($('#questForm').serializeObject());
            jQuery.ajaxSetup({
                beforeSend: function() {
                    $("body").addClass("loading");
                    dbConnect();
                    storeAnswer(uniqueID,readerID,jsonFormData);
                    console.log("Barcode: "+barcode+" VisitorID: "+visitorID+" UniqueID: "+uniqueID+" - "+readerID);
                },
                complete: function(){
                    window.location.href = 'surveyScan.html';
                },
                success: function() {}
            });
            try {
                $.post(null,function(){});
            }
            catch(e) {
                console.error("Error using mycommand: " + e.message);
            }
        });
    });
日志消息打印出我所期望的

storeAnswer功能:

function storeAnswer(visitor_ID, reader_ID, formData) {
    console.log('storeAnswer()');
    html5sql.process(
        ["INSERT INTO Answers (_id, visitorUID, readerID, json) VALUES (null,'"+visitor_ID+"','"+reader_ID+"','"+formData+"');"],
        function(){
            console.log('Inserted 1 row into table: Answers!');
        },
        function(error, statement){
            console.error("storeAnswer: Error: " + error.message + " when processing " + statement);
        }
    )

}
在storeAnswer()中,仅打印第一条日志消息(storeAnswer())


如果您需要其他详细信息,请告诉我。

在您的Xcode首选项中下载组件并安装CLI工具 然后在菜单栏中打开safari>转到safari>首选项>高级>显示开发菜单

现在在模拟器上运行你的应用程序 开放式狩猎 进入“开发”菜单>IPhone模拟器>您页面 现在,您可以在控制台类型中 location.href=“index.html”以重新加载页面并找出所需内容。 此外,所有phonegap对象都可以从这里访问

用于在sqlite db中执行自定义添加和删除 /用户/用户名/库/应用程序支持/iPhone模拟器/6.1/Applications 导航到应用程序文件夹(如果正在那里创建sqlite db) 然后执行sqlite3dbname&然后尝试执行sqlite3操作 然后,您可以从浏览器的控制台调用JS