Вы можете обработать это, используя онлайн и офлайн-события, например:
document.addEventListener("deviceready", function () {
var initNetworkCheck = checkConnectionType();
if(initNetworkCheck.status == Connection.NONE){
onOffline();
}
/*
* Add offline connection behavier
*/
document.addEventListener("offline", onOffline, false);
function onOffline() {
networkScreenAction();
}
/*
* Add offline connection behavier
*/
document.addEventListener("online", onOnline, false);
function onOnline() {
networkScreenAction();
}
});
function checkConnectionType() {
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';// For Browser
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
return {"status": networkState, 'label': states[networkState]};
}
function networkScreenAction()
{
// Do Somthing
}
В этом примере вы можете обрабатывать онлайн и офлайн-события .. так что вы можете выполнить то, что вы хотите, как запрос на повторную отправку, еслине отправлять ...
Примечание: для запроса на повторную отправку вы можете сохранить данные / информацию о неудачном запросе в localalstorage, а когда вы вернетесь в сеть, вы сможете получить его и повторно отправить запрос ... или вы можете использовать localforage, или любой другойдругой метод, который вам нравится .....