Ich bin neu in Symfony und Ajax, ich möchte ein Formular ohne Aktualisierung der Seite jedes Mal, wenn ich zusammen mit this Tutorial folgte, alles funktioniert die Seite reicht der Datenbank, aber das Problem ist, dass ich Holen Sie sich diese Nachricht im BrowserJson Antwort angezeigt
{"message":"Success!"}
Das ist, was ich in meinem Controller habe.
$bon = new Bons();
$form = $this->createForm('AppBundle\Form\BonsType', $bon);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($bon);
$em->flush();
return new JsonResponse(array('message' => 'Success!'), 200);
}
return $this->render('bons/new.html.twig', array(
'bon' => $bon,
'form' => $form->createView(),
));
Der Ajax-Teil:
$(document).ready(function() {
$('body').on('submit', '.myForm', function (e) {
e.preventDefault();
$.ajax({
type: $(this).attr('method'),
url: $(this).attr('action'),
data: $(this).serialize()
})
.done(function (data) {
if (typeof data.message !== 'undefined') {
alert(data.message);
}
})
.fail(function (jqXHR, textStatus, errorThrown) {
if (typeof jqXHR.responseJSON !== 'undefined') {
if (jqXHR.responseJSON.hasOwnProperty('form')) {
$('#form_body').html(jqXHR.responseJSON.form);
}
$('.form_error').html(jqXHR.responseJSON.message);
} else {
alert(errorThrown);
}
});
});
});
ist es eine Möglichkeit, die Form ohne Umleitung oder die Seite aktualisieren
Zuerst sagten Sie, dass Sie diesen Code taten, weil Sie ref nicht wünschen Ändern Sie die Seite jedes Mal und am Ende fragen Sie, ob es eine Möglichkeit gibt, die Seite zu aktualisieren ... was ist das? – Chris
Oh, ich habe das nicht bemerkt, ich meinte eigentlich die erste, Einreichung ohne Aktualisierung –