0

我有一个小应用程序,它使用 WebSQL 进行数据存储。
我想将这些数据与网络服务器(PHP+MySQL)同步
我的主要问题是我不知道如何从 WebSQL 创建一个 JSON 来传输它。

//view the result from DB on a web-page
    $('body').html('<ul id="dataAllHere"></ul>')
     mybase.init.getAll = function(){
           var database = mybase.init.db;
           database.transaction(function(tx){
                  tx.executeSql("SELECT * FROM table", [], function(tx,result){
                         for (var i=0; i < result.rows.length; i++) {
                                item = result.rows.item(i).item;
                                due_date = result.rows.item(i).due_date;
                                the_type = result.rows.item(i).the_type;
                                id = result.rows.item(i).ID;
                                showAll(item,due_date, the_type, id);
                         }
                  });
           });
    }

    function showAll(item,due_date, the_type, id){
          $('#dataAllHere').append('<li>'+item+' '+due_date+' '+the_type+' '+id+'</li>');
    }
    mybase.init.getAll();

我对 JSON 不是很熟悉,如果有任何帮助和建议,我都会很高兴。

4

2 回答 2

0

基本上,您创建一个对象/数组并将其编码为 json,它看起来相同,但格式化为字符串。对于您的代码:

var myJson = [];
for (var i=0; i < result.rows.length; i++) {
    item = result.rows.item(i).item;
    due_date = result.rows.item(i).due_date;
    the_type = result.rows.item(i).the_type;
    id = result.rows.item(i).ID;
    showAll(item,due_date, the_type, id);

    myJson.push({item: item, due_date: due_date, the_type: the_type, id: id});
}

$.ajax({
    method: 'post',
    data: myJson,
    type: 'json',
    url: 'target.php'
})
于 2013-06-23T15:57:39.017 回答
-1

如果您只需要将结果中的所有内容推送到 json,您可以简化循环。

for (var i=0; i < result.rows.length; i++) {
    myJson.push(result.rows.item(i));
}
于 2015-10-16T06:48:16.030 回答