1

JSON呼び出しのオブジェクトをクライアント側のSQLデータベースにロードするのに問題があります。

私の特定のケースでは、「jQuery.getJSON」から返される3つのオブジェクトがあり、「content」キーの値をクライアント側のWebデータベースに挿入して、データベースに次のものが含まれるようにします。

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

ただし、問題は、dbトランザクションの実行を開始する前に、返されたすべてのJSONオブジェクトを「for」ループが循環することです。その結果、データベースに次のようになります。

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データにアクセスする必要がない限り、多くの場合、JSONデータをテキストブロブとして保存し、変換せずにそのままクライアントで使用します。

于 2012-02-06T15:41:51.677 に答える