Non so, molto probabilmente sbaglio qualcosa io perchè non mi sono chiare le richieste ajax. Quando invio il form mi da sempre il messaggio "This value should not be blank" anche se compilo tutti i campi.
Il controller è questo:
Codice PHP:
public function registrationAction()
{
$user = new User();
$form = $this->createForm(new UserType(), $user);
$request = $this->getRequest();
if ($request->isXmlHttpRequest()) {
$form->bindRequest($request);
if ($form->isValid()) {
return $this->render('AcmeTestsBundle:Site:registration-success.html.twig');
}
}
/* if ($request->getMethod() == 'POST') {
$form->bindRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getEntityManager();
$em->getRepository('AcmeTestsBundle:User')->createUser($user);
return $this->redirect($this->generateUrl('AcmeTestsBundle_registration_success'));
}
} */
return $this->render('AcmeTestsBundle:Site:registration.html.twig', array(
'form' => $form->createView(),
));
}
Lo script jQuery questo:
codice:
<script>
$().ready(function() {
$("#registration-form").submit(function() {
$.ajax({
type: "POST",
url: "http://localhost/Symfony/web/app_dev.php/tests/registration",
data: {
'username' : $("#user_username").val(),
'email' : $("#user_email").val(),
'passwordFirst' : $("#user_password_first").val(),
'passwordSecond' : $("#user_password_second").val(),
},
success: function(response){
$("#reg").html(response);
}
});
return false;
});
$("#ajax_loader").bind("ajaxSend", function(){
$(this).show();
})
.bind("ajaxComplete", function(){
$(this).hide();
});
});
</script>
C'è quelcosa di sbagliato?