Tengo una llamada ajax para algunos datos (usando jQuery). después de que el usuario hace clic en "enviar" (y se ha enviado la llamada ajax), estoy mostrando un mensaje "Espere ..." que desactiva todo hasta que la solicitud vuelva (para que el usuario no haga doble clic o haga clic en otras cosas y en el lío cosas claras).Cómo manejar la llamada ajax cuando no hay respuesta del servidor
Funciona muy bien cuando hay algún tipo de error - el "Por favor espere ..." desaparece y estoy mostrando al usuario lo que salió mal.
Pero, ¿qué sucede si el servidor no me devuelve nada debido a un error de comunicación?
La solución que encontré para esto es para establecer un tiempo de espera de 10 segundos para el mensaje "Por favor espere .." que después de que el tiempo desaparece y muestra y el error de que "La comunicación no se pudo". Supongo que si el servidor no respondió después de 10 segundos, entonces no responderá en absoluto, sino que es una suposición falsa.
El problema es - ¿cómo puedo estar seguro de que después de 20 segundos el servidor no devolverá algo? El escenario que podría ocurrir es que el usuario haga clic en enviar -> 10 segundos después recibe un mensaje de error -> 5 segundos más tarde la respuesta del servidor y confunde al usuario
¿Cómo me aseguro de que después de ocultar el "Por favor" esperar ... "¿no aparecerá nada del servidor?
¿Cómo soluciona esto el problema en la pregunta de alguna manera? –
gracias por la respuesta, pero mi pregunta fue sobre qué sucede cuando el servidor no envía nada, y si es posible que pueda suceder. – Alon