Вставка JSON-объектов в клиентскую веб-базу данных sql db - PullRequest
1 голос
/ 06 февраля 2012

У меня проблемы с загрузкой объектов моего вызова JSON в клиентскую часть sql db.

В моем конкретном случае у меня есть 3 объекта, которые возвращаются из "jQuery.getJSON" и я хочу вставитьзначение ключа «content» в клиентской веб-базе данных, так что моя БД содержит следующее:

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

Проблема, однако, заключается в том, что мой цикл «for» циклически проходит через весь возвращаемый 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, прежде чем пытаться вставитьв БД?Надеюсь, это всего лишь некоторый синтаксис, который я наблюдаю.Любая помощь с благодарностью!

1 Ответ

3 голосов
/ 06 февраля 2012

Если вам не нужно каким-либо образом получать данные JSON на сервере, многие просто сохраняют их в виде текстового двоичного объекта и используют на клиенте как есть, без преобразования.

...