Cuando cierro mi servidor y le hago una solicitud de ajax, Firebug muestra que la solicitud se interrumpe unos segundos después de realizar la solicitud y se llama a mi controlador success
.
¿Por qué se llama al controlador de éxito, no debería ser el controlador de errores? ¿Y cómo puedo detectar de manera confiable que en realidad no fue un éxito?
CÓDIGO:
$.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
}
});
ACTUALIZACIÓN: Este comportamiento es única en el servidor local, ocurre cuando se apaga mi servidor de desarrollo. Probé para ver qué sucede cuando trato de llegar al servidor de producción, pero tengo mi Internet personal desconectado, y simplemente cuelga, sin llamar éxito o error en absoluto. Supongo que debería establecer la propiedad de tiempo de espera para ese caso.
no es positivo, pero tal vez la respuesta de 'abort' es diferente de' fail'? ¿Puedes publicar tu código? – hookedonwinter
Posiblemente relacionado: http://stackoverflow.com/questions/2357147/ajax-how-to-prevent-jquery-from-calling-the-success-event-after-executing-xmlhtt –
¿Cómo se lleva el servidor? ¿Es completamente inalcanzable o servirá para 404 páginas? –