Estoy tratando de enviar un formulario HTML usando AJAX usando este ejemplo .
Mi código HTML:
<form id="formoid" action="studentFormInsert.php" title="" method="post">
<div>
<label class="title">First Name</label>
<input type="text" id="name" name="name" >
</div>
<div>
<label class="title">Name</label>
<input type="text" id="name2" name="name2" >
</div>
<div>
<input type="submit" id="submitButton" name="submitButton" value="Submit">
</div>
</form>
Mi guión:
<script type="text/javascript">
$(document).ready(function() {
$('#formoid').ajaxForm(function() {
alert("Thank you for your comment!");
});
});
</script>
Esto no funciona, ni siquiera recibo el mensaje de alerta y cuando envío no quiero redirigir a otra página, solo quiero mostrar el mensaje de alerta.
¿Existe una forma sencilla de hacerlo?
PD: Tengo varios campos, acabo de poner dos como ejemplo.
jquery
ajax
form-submit
Oliveira
fuente
fuente
Respuestas:
Descripción rápida de AJAX
AJAX es simplemente JSON asíncrono o XML (en la mayoría de las situaciones más nuevas, JSON). Debido a que estamos realizando una tarea ASYNC, es probable que proporcionemos a nuestros usuarios una experiencia de interfaz de usuario más agradable. En este caso específico, estamos haciendo un envío de FORMULARIO usando AJAX.
Muy rápido, hay 4 Web acciones generales
GET
,POST
,PUT
, yDELETE
; éstos corresponden directamente conSELECT/Retreiving DATA
,INSERTING DATA
,UPDATING/UPSERTING DATA
, yDELETING DATA
. Un formulario web HTML / ASP.Net / PHP / Python predeterminado o cualquier otraform
acción es "enviar", que es una acción POST. Debido a esto, a continuación se describe cómo hacer una POST. A veces, sin embargo, con http es posible que desee una acción diferente y probablemente desee utilizar.ajax
.Mi código específicamente para ti (descrito en los comentarios del código):
Documentación
De la
$.post
documentación del sitio web de jQuery .Ejemplo : enviar datos de formulario mediante solicitudes ajax
Ejemplo : publicar un formulario usando ajax y poner los resultados en un div
Nota IMPORTANTE
Sin usar OAuth o HTTPS (TLS / SSL) como mínimo, no use este método para datos seguros (números de tarjetas de crédito, SSN, cualquier cosa que sea PCI, HIPAA o relacionada con el inicio de sesión)
fuente
beforeSend: function (xhr) { xhr.setRequestHeader("Authorization", "*****"); xhr.setRequestHeader("contentType", "application/json;charset=UTF-8"); },
pero esto no establece ningún encabezado$.ajax
lo que puedo escribir un ejemplo si lo desea, pero esa es realmente una pregunta separadafuente
Si agrega:
Simplemente puede hacer esto:
NOTA:
Puede usar $ ('FORM'). Serialize () simple como se sugiere en la publicación anterior, pero eso no funcionará para FILE INPUTS ... ajaxForm () lo hará.
fuente