How to submit form ajax in symfony2?

For the Ajax:

 $("#person").submit(function(e){


    var formURL = "{{ path('form') }}";
    var formData = new FormData(this);
    $.ajax({
        url: formURL,
        type: 'POST',
        data:  formData,
        mimeType:"multipart/form-data",
        contentType: false,
        cache: false,
        processData:false,
        success: function(data, textStatus, jqXHR)
        {

        },
        error: function(jqXHR, textStatus, errorThrown)
        {
        }
    });
    e.preventDefault(); //Prevent Default action.
    e.unbind();
});
$("#person").submit();

And for Action

if ($request->isXmlHttpRequest()) {

....

    return new Response(json_encode(array('status'=>'success')));
}

With jQuery, use serialize() the form and post it to your route.

$('#form').submit(function(e) {

    e.preventDefault();
    var url = "{{ path('YOUR_PATH') }}";
    var formSerialize = $(this).serialize();
    
    $.post(url, formSerialize, function(response) {
        //your callback here
        alert(response);
    }, 'JSON');
});

In your action

if ($form->isSubmitted() && $form->isValid()) {

....

  // or return new JsonResponse($anyData);
  return new Response(json_encode(['status'=>'success']));
}

it must be ok like this. but you can add some parameters like the format, methods etc... in your routing.