Tengo una aplicación express configurada que tiene un controlador de ruta posterior (/addpost) que solo me permite agregar los datos a una base de datos. Funciona de maravilla, pero la ventana sigue cargando. Parece que necesito enviar una respuesta para que el navegador no espere más datos, pero todo lo que quiero es que la página deje de cargarse. Estoy mostrando un texto de 'publicación enviada' después de hacer clic en el botón Enviar y no quiero para redirigir al usuario a una nueva página. ¿Qué debo devolver como respuesta para que permanezca en la página actual (formulario)?
Envíe el evento a la función del controlador y evite que la página se actualice en el lado del cliente.
onClick={(e) => handleSubmit(e)}; handleSubmit = async (e) => { e.preventDefault(); //send post request }Incluso si no desea devolver ninguna carga útil, debe finalizar la solicitud con res.end() o res.render(...) o ...
El hecho de que el usuario sea redirigido a otra página no depende de lo que envíe, sino de cómo el navegador realiza la solicitud:
axios.post , el navegador no navegará en absoluto, sino que simplemente recibirá la respuesta y tal vez actualice la página HTML en función de ella. Si no tiene ningún cuerpo de respuesta, esa parece ser la mejor opción. Esto es también lo que implica la respuesta de Sean Lawton donde dice "// enviar solicitud de publicación".