1
当用户在应用程序上时,我的混合应用程序正在将数据从服务器推送到cordova应用程序。在我的服务器上,我的JSON中有2000个数据。我成功地将2000个数据插入到我的SQLite数据库中。但是,我意识到该程序插入了与服务器中最后一个数据相同的2000个数据。以下是我的代码。Cordova SQLite,从服务器获取值并插入到SQLite数据库
$http.get("http://131.4.44.69/php3/fetchSAPInfo.php?key=" + lastSAPOID).success(function (data){
alert(lastSAPOID);
if(data == 1){
alert("data is up to date");
}else{
alert("data is updating......");
var i;
for(i=0; i<data.length; i++){
var SAP_OID = data[i].SAP_OID;
var SAP_Asset = parseInt(data[i].SAP_Asset);
var SAP_Description = data[i].SAP_Description;
db.transaction(function(tx) {
alert(SAP_Asset);
tx.executeSql('INSERT INTO SAPInfo VALUES (?,?,?)', [SAP_OID, SAP_Asset , SAP_Description]);
}, function(error) {
console.log(error);
}, function() {
alert("insert successfully");
})
}
}
}).then (function (response){
alert("done and finished");
});
我意识到代码,先去函数先运行db.transaction()函数。因此,该程序不会根据我的for循环获取JSON数据。我怎么解决这个问题?