Pregunta

Me gustaría pedirle su opinión sobre esto. Esta es una pregunta teórica.

Estoy en una situación en la que tengo una interfaz que se muestra a un usuario que usa AJAX para hablar con el servidor. El idioma del lado del servidor no importa aquí. Tengo un formulario con campos y cada uno de ellos es borrable. Si el usuario selecciona algunos " eliminar " -checkboxes y presiona Actualizar, luego tengo estas dos opciones para hacer:

Opción 1: Al eliminar campos, use JavaScript para eliminar el HTML inmediatamente y ejecute AJAX en segundo plano para eliminar esos campos. Esto logra una apariencia de una interfaz rápida - > Mejor experiencia de usuario. Sin embargo, si la llamada AJAX falla en el lado del servidor (los campos no se pudieron eliminar), entonces los campos HTML previamente eliminados darían una suposición falsa para el usuario (de los cuales se eliminarán).

Opción 2: Al eliminar campos, ejecute AJAX, dependiendo de su éxito, elimine el HTML o no. Esto proporciona comentarios precisos para el usuario, pero el formulario se congelará hasta que finalice la llamada AJAX = slow (er).

¿Cuáles son tus pensamientos? ¿Qué enfoque me parece mejor adoptar o debería hacerlo una opción?

¿Fue útil?

Solución

Opción 3: Marque los controles como eliminados (por ejemplo, superponga un cuadro gris translúcido con un icono de eliminación). Enviar la solicitud Cuando regrese, elimine los controles o cambie el cuadro para mostrar un icono de error durante unos segundos (luego elimine el cuadro).

Permita que se interactúe con el resto de la interfaz mientras esto continúa.

Otros consejos

Buena pregunta.

Una tercera opción sería:

  1. deshabilitar inmediatamente los controles
  2. bórrelos cuando regrese el Ajax

Esto le da al usuario comentarios de que algo se solicitó efectivamente (capacidad de respuesta), mientras muestra también el momento en que se completa efectivamente.


Además, el usuario de alguna manera siente la '' llamada distante '', que no lo induce a un error, porque realmente sucedió. De todos modos, no hay nada significativo que podamos hacer para ocultar este sentimiento, porque la demora siempre estará ahí.

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