Creé un cuestionario de opción múltiple en línea, donde el usuario hace clic en la respuesta deseada de cada pregunta y se envía una solicitud $.post AJAX al servidor para su posterior procesamiento.
Para todas las preguntas, excepto la última, el script del servidor simplemente exit; s... Para la última pregunta en particular, el servidor responde con las respuestas válidas que dio (un echo $valid; y exit; s). Tenga en cuenta que $valid también puede ser 0, si él/ella no dio ninguna respuesta correcta...
Entonces, en la función de respuesta AJAX tengo esto
success: function(response) { $(this).addClass('chosen').removeClass('loading-gif'); if (response !== null) { countdown(response); } } donde countdown() imprime un mensaje de Gracias, diste x y respuestas válidas en la pantalla, hace un efecto de cuenta regresiva en vivo y luego redirige a otra página ...
El problema es que no importa lo que intenté para la verificación de si, siempre muestra el mensaje de agradecimiento, incluso desde la primera respuesta... Así que probé if (response !== null) , if (typeof(response) !== 'undefined') y todavía recibo el mensaje... Lo que no probé es if (response) porque 0 se evalúa como falso, por lo que en caso de que el usuario finalice la prueba con 0 respuestas válidas, el mensaje no aparecer...
¿Me estoy perdiendo de algo? ¿Por qué está pasando esto?