Volver a cargar la página mientras una solicitud de Ajax en curso da una respuesta vacía y el estado es cero

El navegador es Firefox 3.0.10. Estoy solicitando una página usando Ajax. La respuesta está en progreso puede estar en readyState menos de 4. Mientras tanto, estoy tratando de volver a cargar la página. La solicitud finaliza, dando una respuesta vacía.

Utilicé alert para encontrar qué cadena se ha dado como texto de respuesta. Supongo que en este momento se alcanza el estado listo 4. ¿Por qué es una cadena vacía?

Cuando alerté al xmlhttpobject.status, mostró 0.

Cuando alerta al xmlhttpobject.statusText, se produce una excepción que indica "NO DISPONIBLE".

Cuando leo en el documentohttp://www.devx.com/webdev/Article/33024/0/page/2 dijo para 3 y 4status ystatusText están disponibles, pero cuando probé solo el estado está disponible, pero no satausText.

Aquí hay un código de muestra.

Tenga en cuenta que he solicitado una página y mi función de devolución de llamada es la siguiente

function cb(rt)
{
   if(rt.readyState==4)
   {
      alert(rt.status);
      alert(rt.statusText); // which throws an exception
   }
}

y mi script del lado del servidor es el siguiente

sleep(30);
//flushing little drop down code

Además de estos, noté lo siguiente.

Asuma nuevamente que estoy solicitando el script anterior usando Ajax. Ahora habrá un tiempo de inactividad de 30 segundos. Antes de esos 30 segundos presiono actualizar. Obtuve xmlhttpobject.status como, 0 pero aún así el navegador no volvió a cargar la página hasta esos 30 segundos. ¿Por qué?

Cuando actualizo una página antes de que se complete una solicitud de Ajax, el valor de estado se establece en cero y el estado listo se establece en 4, pero la página aún espera a que finalice la respuesta del servidor.

¿Qué está pasando?

LA RAZÓN PARA QUE ENFRENTE ALGO COMO ESTO ES LO SIGUIENTE.

Cada vez que hago una solicitud de Ajax, si el proceso tuvo éxito, como insertar algo o eliminar algo, aparece una ventana emergente que indica que se actualizó correctamente y volveré a cargar la página. Pero si hay algún error, entonces no vuelvo a cargar la página, en su lugar, solo alerta que no puedo procesar esta solicitud.

Si el usuario vuelve a cargar la página antes de que se complete cualquiera de estas solicitudes, obtengo una respuesta vacía que, en mi cálculo, es que hay un error del servidor. Así que estaba depurando la respuesta de Ajax para filtrar que la conexión se había interrumpido porque el usuario había presionado recargar. Así que esta vez no quiero mostrar "no se puede procesar esta solicitud" cuando el usuario vuelve a cargar la página antes de que la solicitud se haya completado.

Oh ... una larga historia. ES UNA DESCRIPCIÓN LARGA PARA QUE PUEDA HACER QUE LOS EXPERTOS ENTIENDAN MI DUDA.

Entonces, lo que quiero es lo anterior.

Cualquier tipo de respuesta aclararía mi mente. O me gustaría decir todo tipo de respuestas.

EDITAR: 19 dic. Si no obtengo ninguna respuesta correcta, eliminaré esta pregunta y la volveré a escribir con ejemplos. De lo contrario, aceptaré después de experimentar.

Crearé un programa de demostración y publicaré el enlace aquí para que pueda comprender lo que estoy enfrentando. Hoy es 29.dec.2010.

Respuestas a la pregunta(5)

Su respuesta a la pregunta