/ / Ajax záložné, keď nie je pripojenie na internet - javascript, jQuery, html, ajax, miestne úložisko

ajax zálohovať, ak nie je pripojenie na internet - javascript, jquery, html, ajax, lokálne úložisko

Nasledujúci kód odosiela údaje na server.Dáta sú skutočne uložené v localStorage pred odoslaním na server. Je to z dôvodu mojej požiadavky, aby používateľ mohol používať môj systém bez pripojenia k internetu.

Problém je v tom, že keď nie je k dispozícii internetové pripojenie, je zrejmé, že údaje nemôže odoslať na server. Čo mám robiť v tejto situácii?

$("#btnSync").on("click", function(e) {
var my_data = {};
var my_value = [];

for ( var i = 0, len = localStorage.length; i < len; ++i ) {
if((localStorage.key( i ).includes("set"))){
var lsItems = JSON.parse(localStorage.getItem( localStorage.key( i ) ));

allItems[localStorage.key( i )] = lsItems;
}
}

$.ajax({
url: "action.php",
type: "POST",
data: {"action":"btnSync","allItems":allItems},
dataType: "json",
success: function(data) {
$.notify(
{
message: data.message
},
{
type: data.status,
placement: {
from: "top",
align: "left"
},
newest_on_top: true,
delay: 0
}
);
},
error: function(data){
$.notify(
{
message: "Unexpected error occured, please kindly contact System Administrator"
},
{
type: "danger",
placement: {
from: "top",
align: "left"
},
newest_on_top: true,
delay: 0
}
);
}
});
});

odpovede:

1 pre odpoveď č. 1

môžete skontrolovať, či je pripojenie / server hore pomocou podobného hovoru ajax. Hľadať

statusCode.status == 0

omylom a dať cieľnedostupný / internetový oznam pre používateľa. Toto volanie Ajax môžete vytvoriť ako prísľub vo funkcii a použiť ho pred všetkými svojimi hovormi Ajaxu a požiadať používateľa o pripojenie na internet a potom to skúsiť znova.