J'ai du code Javascript JQuery qui fait un appel Ajax au serveur toutes les 5 minutes, c'est pour garder la session serveur en vie et garder l'utilisateur connecté. J'utilise la $.ajax()
méthode dans JQuery. Cette fonction semble avoir une propriété «erreur» que j'essaie d'utiliser dans le cas où la connexion Internet de l'utilisateur tombe en panne afin que le script KeepAlive continue de fonctionner. J'utilise 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);
}
});
}
Lorsque je l'exécute, j'obtiens une fenêtre contextuelle `` Succès '' à l'écran dans une boîte d'alerte toutes les 10 secondes, ce qui est bien. Cependant, dès que je débranche le câble réseau, je n'obtiens rien, je m'attendais à ce que la fonction d'erreur soit appelée et voit une boîte d'alerte «Échec», mais rien ne se passe.
Ai-je raison de supposer que la fonction «erreur» concerne uniquement les codes d'état non «200» renvoyés par le serveur? Existe-t-il un moyen de détecter les problèmes de connexion réseau lors d'un appel Ajax?