Bonjour,
j'ai de petits soucis avec l'intégration d'ajax dans symfony.
je souhaite afficher un formulaire et ensuite soumettre un formulaire avec ajax.
voici ce que j'ai fait pour aficher le formulaire
public function afficheAction(Request $request)
{
if($request->isXmlHttpRequest()){
$backlog = new Backlogs();
$form = $this->createForm('App\MemberBundle\Form\BacklogsType', $backlog);
$form->handleRequest($request);
$response = new Response();
$data = json_encode(array('backlog' => $backlog,
'form' => $form->createView()
));
$response->setContent($data);
return $this->render('AppMemberBundle:Project:Backlogs/affiche.html.twig', array(
'backlog' => $backlog,
'form' => $form->createView(),
));
}
}
Pour le code ajax,
var ajaxModule = function(){
$('.add-story').each(function(){
var $this = $(this),
loadButton = $(this).find('.add-story-loader'),
brId = loadButton.attr('id');
loadButton.click(function(){
$.ajax({
type: 'GET',
url: Routing.generate('backlogs_new'),
success: function(data){
console.log(data);
$this.html(data).show();
}
})
});
});
}
et la vue affiche action
{{ form_start(form , { 'attr': {'class': 'form'} }) }}
<div class="field">
{{ form_widget (form.userstory, {'attr':{'class':'add-story-field'}} ) }}
<input type="submit" class="button button-float-r button-medium add-story-button" value="Ajouter">
<div class="clear"></div>
</div>
{{ form_end(form) }}
l'erreur afficher est
The Response content must be a string or object implementing __toString(), "boolean" given.
Après Débugage, il semble que je n'ai pas le droit de passer
'form' => $form->createView()
dans
$data = json_encode(array('backlog' => $backlog,
'form' => $form->createView()
));
besoin d'aide