Lorsque j'arrête mon serveur et que j'y effectue une requête ajax, firebug montre que la requête est interrompue quelques secondes après avoir été effectuée, et mon fichier success
est appelé.
Pourquoi le gestionnaire de succès est-il appelé, alors que ce ne devrait pas être le gestionnaire d'erreur ? Et comment puis-je détecter de manière fiable que ce n'était pas vraiment un succès ?
CODE :
$.ajax({
url: url,
type: "POST",
data: data,
dataType: "json",
success:function(data, statusText, xhr){
//gets called on success, or even when server is down.
},
error: function(){
//called if server returns error, but not if it doesn't respond
}
});
MISE À JOUR : Ce comportement est uniquement sur localhost, il se produit lorsque je désactive mon serveur de développement. J'ai testé pour voir ce qui se passe lorsque j'essaie d'atteindre le serveur de production, mais que mon internet personnel est désactivé, et il se bloque simplement, sans appeler de succès ou d'erreur du tout. Je suppose que je devrais définir la propriété timeout pour ce cas.