Al enviar el formulario, me gustaría permanecer en la misma página y mostrar un mensaje (ya sea de éxito o fracaso). La HTTP POST se maneja de la siguiente manera:
app.post('/insertdb', function(request, response) { // insert values from form into database response.json({success: true}); }); En el archivo .ejs del lado del cliente, trato de usar ajax para mostrar la alerta (intenté seguir el ejemplo de cómo usar NodeJS y mostrar una ventana de alerta en el navegador ) de la siguiente manera:
<script> $.ajax({ url: "/dbinsert", type: "post", data: 'testing', cache: false, success: function(response) { if(data['success']) { alert("success"); } }, error: function () { alert("There has been an error"); } }); </script>El problema es que cuando presiono el botón de enviar, sale de la página y muestra: ```{"success":true}`` en lugar de permanecer en la misma página después del envío del formulario y mostrar una ventana emergente con el estado de la solicitud.
ver aquí: Evitar la redirección después de enviar el formulario
necesita agregar return false; hasta el final de su solicitud AJAX :)