Bonjour à tous,
J'utilise symfony4 pour tester le nouveau framework et je voulais faire un petit peu d'ajax pour tester. Je veux juste faire de l'ajax, une fois que j'ai compris le principe je pourrais faire de vraie fonctionnalité
Petite précision j'utilise le bundle fosJSROuting pour qu'il n'y ait pas de problème avec les générations d'url sous sf4.
Le hic c'est que je n'arrive pas à passer de data de mon js en front à ma fonction PHP. Or si je n'arrive pas à passer des variables du js à php je n'irait pas loin.
Je suis sur que le problème vient de la car l'erreur est
côté php c'est classique
Code : Sélectionner tout - Visualiser dans une fenêtre à part Controller ;App\Controller\AjaxCalendarController::returnData()t; requires that you provide a value for the $dataReceive argument.
en l'état me retourne l'erreur mais en mettant $dataReceive = false j'ai bien la reponse sous forme de json.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 /** * @Route("/ajaxCalendarReturn", name="ajax_calendar_return") */ public function returnData($dataReceive , Request $request) { if($request->isXmlHttpRequest()) { $dataReceive; $number = mt_rand(0, 100); return new JsonResponse(array('numberAjax' => $number, "dataResponse" => $dataReceive)); } }
Je ne comprends pas car côté js je fais lors d'un changement d'un champ texte un envoi d'une data en dur pour tester (qui devrait donc forcément être ok)
Je suis peut-être fatigué mais même une recherche google ne m'a pas permit de voir la faute que j'ai fais...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var test = 'tttt'; $( "#from" ).change(function() { var request = $.post( "{{path('ajax_calendar_return')}}", {dataReceive: 'test' } ); => dataReceive n'est pas passé au php request.done(function( msg ) { alert( msg ); }); request.fail(function( jqXHR, textStatus ) { alert( "Request failed: " + textStatus ); }); });
Merci d'avance si quelqu'un à une idée
Partager