В моем проекте Symfony (v3.4) мне нужно передать некоторые переменные javascript из моего представления в мой контроллер: я использую Jquery и Ajax для отправки моей переменной в контроллер, но у меня нет доступа к моим переменным.У меня нет проблем с моим Ajax-запросом, я проверил его через профилировщик Symfony, и запрос был отправлен правильно, но по какой-то причине контроллер не может даже обнаружить Ajax-запрос.
Вот мой контроллер:
public function saisieAction(Request $request)
{
$user = $this->getUser();
$thisyear = date("Y");
$em = $this->getDoctrine()->getManager();
// Create the form
$form = $this->get('form.factory')->createBuilder(FormType::class)
->add('ndf', CollectionType::class, array(
'entry_type' => NoteDeFraisType::class,
'label' => false,
'allow_add' => true,
'allow_delete' => true,
))
->getForm();
// if the form has been submited
if ($request->isMethod('POST') && $form->handleRequest($request)->isValid()) {
if($request->isXMLHttpRequest()){
//After some code debuging, this is never
//executed
$month = $request->get('month');
$year = $request->get('year');
$sub_date = $month .'/' .$year;
}
$notesDeFrais = $form['ndf']->getData();
foreach ($notesDeFrais as $ndf) {
$ndf->setUser($user);
$ndf->setMonth($sub_date);
$em->persist($ndf);
}
$em->flush();
}
return $this->render('AvPlatformBundle:Platform:saisie.html.twig',
array(
'year' => $thisyear, 'form' => $form->createView()
));
}
И сценарий в моем представлении saisie.html.twig:
$(".month").click(function() {
var click = $(this);
var month = click.val();
var year = $("#years").val();
$.post("{{ path('avaliance_platform_saisie') }}",
{ 'month' : month,
'year' : year
},
function (data,status) {
alert('Data sent');
});
});