1

我无法将我的 JSON 调用的对象加载到客户端 sql 数据库中。

在我的具体情况下,我有 3 个从“jQuery.getJSON”返回的对象,并希望将“content”键的值插入客户端 Web 数据库,以便我的数据库包含以下内容:

id content
 1 "Text A"
 2 "Text B"
 3 "Text C"

然而,问题是我的“for”循环在开始执行 db 事务之前循环遍历所有返回的 JSON 对象。结果,我最终在我的数据库中得到以下内容:

id content
 1 "Text C"
 2 "Text C"
 3 "Text C"

这是代码:

    jQuery.getJSON( url, params, function(obj, status, xhr){
      $('#myMessageCount').html(obj.length);
      var dbTable = 'messages';
      var jsObject = null;
      for (var i=0; i < obj.length; i++) 
      {
        jsObject = obj[i].message.content;
        db.transaction(function (tx) {
          tx.executeSql('INSERT INTO ' 
            + dbTable 
            + ' (content) VALUES (?)'
            , [jsObject], successHandler, errorHandler);
        });
       }
    });

在尝试插入数据库之前,也许我需要对 JSON 对象做一些事情?希望这只是我正在监督的一些语法。任何帮助是极大的赞赏!

4

1 回答 1

3

除非您需要以某种方式在服务器上获取 JSON 数据,否则许多人只是将其保存为文本 blob 并在客户端按原样使用它而无需任何转换。

于 2012-02-06T15:41:51.677 回答