我已经在HTML5和JS(phonegap)中开发了一个应用程序,现在我必须将JSON导入到本地SQLite中。 我有以下代码,以便从外部服务器
导入 $.ajax({
url: 'path_to_my_file',
data: {name: 'Chad'},
dataType: 'jsonp',
success: function(data){
var count = data.posts.length;
$.each(data.posts, function(i,post){
notesdb.transaction(function(t) {
t.executeSql('INSERT into bill (barcode, buildingcode, buildingaddress, flatname, flatdescription, entryseason, period, amount, pastpayments, todaypayments, receiptno) VALUES (?,?,?,?,?,?,?,?,?,?,?);',
[post.Id, post.Code, post.Address, post.Name, post.Description, post.EntrySeason, post.Period, post.Revenue, post.PastPayments, post.todaypayments, post.receiptno],
function(){
bill = bill + 1;
$('#mycontent article').html(bill + '/' + data.posts.length + ' <strong>bill</strong>');
if (--count == 0) {
$('#mycontent article').html('<strong>bill - <font color=green>OK</font></strong>');
}
}
);
});
});
}
});
如果我必须导入本地json var,例如
,我该如何转换代码var mybilljson = jQuery.parseJSON( billjson );
进入同一个SQLite?
答案 0 :(得分:0)
从服务器收到数据后,将调用success
函数
传递给each
的函数会被posts
中的每个元素调用
传递到transaction
的函数在事务开始时被调用
传递给executeSql
的函数在命令执行完毕后被调用。
您没有服务器请求,我认为mybilljson
包含一个帐单,因此您必须删除前两个帐号。结果将是这样的:
var mybill = ...;
notesdb.transaction(function(t) {
t.executeSql('INSERT INTO bill(...) VALUES(...)',
[mybill.Id, ...],
function() {
// whatever
});
});