¿Cómo puedo guardar cierta información del estado de JavaScript en mi servidor al descargar?

StackOverflow https://stackoverflow.com/questions/73335

  •  09-06-2019
  •  | 
  •  

Pregunta

Yo tengo un ExtJS grid en una página web y me gustaría guardar parte de su información de estado en el servidor cuando los usuarios abandonan la página.¿Puedo hacer esto con una solicitud Ajax onUnload?Si no, ¿cuál es una mejor solución?

¿Fue útil?

Solución

Puede utilizar una solicitud Ajax, pero asegúrese de convertirla en una solicitud sincrónica en lugar de asincrónica.Alternativamente, simplemente guarde el estado cada vez que el usuario realice un cambio; esto también protege los datos si el navegador del usuario falla.

Otros consejos

Hay una respuesta anterior que dice usar una llamada ajax sincrónica, y ese es el mejor de los casos.El problema es que la descarga no funciona en todas partes.Si miras aquí Encontrarás algunos trucos que te ayudarán a descargar eventos en Safari...También puede usar Google Gears para guardar el contenido del lado del usuario para situaciones en las que el usuario regresará, pero la única forma completamente segura de conservar esa información es enviarla continuamente mientras el usuario esté en la página o realice cambios.

También puede configurar una cookie usando javascript al descargar.Creo que la ventaja que tiene ajax sobre las cookies es que tiene los datos disponibles para generar informes y el usuario (si ha iniciado sesión) puede utilizar los datos en diferentes máquinas.

La desventaja de usar ajax es que podría ralentizar el cierre real de la ventana del navegador, lo que podría resultar molesto si el servidor tarda en responder.

Depende de cómo el usuario abandona la página.Si hay un botón de "cerrar sesión" en su GUI, puede activar una solicitud ajax cuando el usuario hace clic en este botón.De lo contrario, no creo que sea una buena idea realizar una solicitud en onUnload.Como dije antes, tendrías que realizar una solicitud sincrónica...Una alternativa a la solución de cookies sería un campo de texto oculto.Esta es una técnica utilizada habitualmente por herramientas como RSH que tratan temas históricos que vienen con ajax.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top