Всем привет.
есть функция, которая отправляет данные на сервер из локальной Web SQL
function SendPost() {
db.transaction(function (tx) {
tx.executeSql("SELECT keyNumber, itemNumber, curDate FROM items", [], function(tx, results) {
if(results.rows.length > 0) {
for(var i = 0; i < results.rows.length; i++) {
var someArray = [results.rows.item(i).keyNumber,
results.rows.item(i).itemNumber,results.rows.item(i).curDate];
addArray(someArray);
}
}
});
});
function addArray(arr) {
$.ajax({
url: 'http://www.test.ru/add_to_base.php',
dataType: 'text',
type: 'post',
contentType: 'application/x-www-form-urlencoded',
data: ({knb:arr[0], inb:arr[1], cdt:arr[2]}),
success: function( data, textStatus, jQxhr ){
console.log(data);
},
error: function( jqXhr, textStatus, errorThrown ){
if(jqXhr.status&&jqXhr.status==400){
alert("Ошибка!: " + jqXhr.responseText);
}
else if(jqXhr.status&&jqXhr.status==500){
alert("500 - ошибка подключения к серверу");
}
else{
alert("Something went wrong");
}
}
});
}
код работает, но есть вопросы:
1) как лучше оптимизировать, что бы не вызывать каждый раз функцию addArray(). или это нормально - на каждую запись отправлять POST?
2) в случае ошибки, как остановить выполнение кода? например при ошибке 500. Так как цикл уже запустился, то прервать работу SendPost() уже не получается
буду рад любым советам