[Pregunta]: Evitar el re-envio de datos por medio de AJAX

Iniciado por Leguim, 23 Junio 2019, 01:49 AM

0 Miembros y 1 Visitante están viendo este tema.

Leguim

Buenas noches!

Quisiera saber si existe una manera de que una persona no pueda enviar varios datos de forma simultanea, para darme a entender les voy a dar un ejemplo:

Digamos que tengo un sistema de comentarios por el cual lógicamente tengo un input donde ellos enviaran sus comentarios, pero este input al ser enviado lo que hace es llamar a una funcioón ajax.js que obtiene el .value de dicho input luego ejecuta un fichero ajax... enviar.php que lo que hace es que con el contenido (.value) obtenido anteriormente crear el comentario. El único problema que encontré en mi sistema es que si una persona oprime el enter de forma super rápida una atras del otro creara varios registros y no quiero eso.. Es un problema similar al ya conocido que haces click varias veces en un submit y este registra varias veces el mismo dato..

Espero haberme dado a entender! Muchas gracias...

iCoke

Probaste validar que si él usuario ya esta registrado no permita duplicar él registro?

Leguim

mm no creo que te haya entendido, el sistema no es el registro sino uno de comentarios usando ajax, es decir no quiero que se creen "registros" (registros de comentarios, comentarios creados)  de forma simultanea tocando varias veces el enter y que este cree varios comentarios.

Leguim

alguien me podría decir como hago para "parchear" este bug?  :huh:

xiruko

Hola,

En tu función donde haces la petición con AJAX, deshabilita el botón de enviar cuando cojas el valor del campo del comentario, y vuelve a habilitarlo tras obtener la respuesta del servidor. Tampoco estaría mal que limpiaras el campo del comentario (eliminaras su contenido, así como el de otros campos si los hubiera, por ejemplo nombre o email) tras recibir respuesta correcta (comentario publicado) del servidor.

Saludos!