2013-06-23 3 views
0

У меня есть небольшое приложение, использующее WebSQL для хранения данных.
Я хочу синхронизировать эти данные с веб-сервером (PHP + MySQL)
Моя основная проблема, что я понятия не имею, как я могу создать JSON из WebSQL для его передачи.Как я могу получить JSON fton WebSQL

//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, и я буду рад любой помощи и советам.
Спасибо!

ответ

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' 
}) 
+0

TYWM! Странно, но он говорит мне, что myJson не определен. –

-1

можно упростить цикл, если вам нужно просто нажать каждую вещь из результата в JSON.

for (var i=0; i < result.rows.length; i++) { 
    myJson.push(result.rows.item(i)); 
} 
+0

Это должен быть комментарий к [другому ответу] (http://stackoverflow.com/a/17262551/2006429). – usandfriends