none
Envío duplicado de información RRS feed

  • Pregunta

  • Hola a todos.

    Me ocurre con algunas inserciones sobre la base de datos que me las está duplicando. Es decir, yo realizo en programación una única inserción inequívoca, pero al darle al botón que realiza la acción se hacen 2 inserciones.

    Esto me pasa únicamente cuando ejecuto la página en Mozilla Firefox. En Chrome no me pasa. Y me pasa en la página funcionando en Internet, probando en local o en mi servidor local no me ocurre...

    ¿Alguna idea?

    ¡Un saludo!

    Gracias.

    lunes, 23 de abril de 2018 7:01

Respuestas

  • Casi seguro que es porque pulsan el botón de enviar, tarda un poco en responder y creen que no ha funcionado, y lo vuelven a pulsar.

    Si el problema es ese, puedes resolverlo "deduplicando" las llamadas en el servidor. Hay varias formas de hacerlo, pero una es generar un GUID, meterlo en un campo hidden en el formulario, y cuando recibes el submit, lo comparas con el último GUID que te llegó del mismo usuario. Si es el mismo, entiendes que es una petición repetida y evitas grabarla. Por supuesto, puedes ahorrarte el GUID si los propios datos ya de por sí contienen algún tipo de información (tal como un ID) que se sabe que no puede repetirse al grabar.

    Otra forma de resolverlo es añadiendo algo de javascript que deshabilite el botón de submit en el momento de pulsarlo, impidiendo que se pulse por segunda vez.

    • Marcado como respuesta jjjorge lunes, 23 de abril de 2018 7:46
    lunes, 23 de abril de 2018 7:17

Todas las respuestas

  • Casi seguro que es porque pulsan el botón de enviar, tarda un poco en responder y creen que no ha funcionado, y lo vuelven a pulsar.

    Si el problema es ese, puedes resolverlo "deduplicando" las llamadas en el servidor. Hay varias formas de hacerlo, pero una es generar un GUID, meterlo en un campo hidden en el formulario, y cuando recibes el submit, lo comparas con el último GUID que te llegó del mismo usuario. Si es el mismo, entiendes que es una petición repetida y evitas grabarla. Por supuesto, puedes ahorrarte el GUID si los propios datos ya de por sí contienen algún tipo de información (tal como un ID) que se sabe que no puede repetirse al grabar.

    Otra forma de resolverlo es añadiendo algo de javascript que deshabilite el botón de submit en el momento de pulsarlo, impidiendo que se pulse por segunda vez.

    • Marcado como respuesta jjjorge lunes, 23 de abril de 2018 7:46
    lunes, 23 de abril de 2018 7:17
  • Gracias por la pronta respuesta.

    He hecho una prueba y no es por eso. Puede que si se debe a un refresco de la página automático al recargar la información. Voy a revisar esa opción con lo que me propones.

    Muchas gracias!

    lunes, 23 de abril de 2018 7:38