El siguiente código nos permite enviar datos de un formulario a su respectivo action a través de ajax sin mayores complicaciones.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | // Capturamos el evento submit del formulario. $('#tuForm').submit(function(e) { // Obtenemos el atributo action del formulario var url = $(this).attr("action"); $.ajax({ type: "POST", url: url, // Asignamos la url capturada data: $(this).serialize(), //enviamos los campos serializados. dataType: "html", error: function(msg){ alert("Ha ocurrido un error!"); }, success: function(msg){ alert("Proceso Exitoso!"); } }); return false; }); |
Tal como se indica en la referencia, el campo CSRF Field debería ser enviado!, además si se dibujó el formulario con {{ form_widget() }} o {{ form_row() }} no olvides de añadir el {{ form_row(form._token) }} o {{ form_rest(form) }} en el template de su form, ya que debería generarse el campo CSRF para que el formulario se valide de manera correcta.
Referencia: http://stackoverflow.com/questions/9002489/symfony2-form-with-csrf-passed-through-jquery-ajax