J'ai un peu de Javascript (JQuery code qui fait un appel Ajax vers le serveur toutes les 5 minutes, c'est de garder la session sur le serveur en vie et garder la connexion de l'utilisateur. Je suis à l'aide d' $.ajax()
méthode JQuery. Cette fonction semble avoir une "erreur" de la propriété que je suis en train d'utiliser, dans le cas où l'utilisateur de la connexion internet va vers le bas de sorte que le KeepAlive script continue à s'exécuter. Je suis en utilisant le code suivant:
var keepAliveTimeout = 1000 * 10;
function keepSessionAlive()
{
$.ajax(
{
type: 'GET',
url: 'http://www.mywebapp.com/keepAlive',
success: function(data)
{
alert('Success');
setTimeout(function()
{
keepSessionAlive();
}, keepAliveTimeout);
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert('Failure');
setTimeout(function()
{
keepSessionAlive();
}, keepAliveTimeout);
}
});
}
Quand je le lance, je vais obtenir le Succès " qui s'affiche sur l'écran dans une boîte d'alerte toutes les 10 secondes, ce qui est bien. Cependant, dès que je l'ai débrancher le câble réseau, je ne reçois rien, je m'attendais à la fonction d'erreur pour obtenir de l'appelé et de voir un "Échec" zone d'alerte, mais rien ne se passe.
Suis-je raison de supposer que la "erreur" fonction est uniquement à des fins non '200' état de codes renvoyés par le serveur? Est-il un moyen de détecter des problèmes de connexion réseau lors d'un appel Ajax?