Я плохо пытаюсь отправить данные через ajax на мой контроллер Symfony, но, похоже, я не получаю их на своем контроллере, даже не могу проверить, правильно ли они поступают.
Я работаю над Symfony 3.3, я пробую документацию и другие ответы здесь на stackoverflow, но я не могу обойти это, поэтому кто-то может сообщить мне, что я делаю это неправильно?
мой JS-скрипт на моем ветке:
$.blockUI({ message: '<h4><img src="{{ asset('assets/global/plugins/cubeportfolio/cubeportfolio/img/cbp-loading.gif') }}" /> Guardando datos, por favor espere...</h4>' });
var form = document.getElementById("idUsuario").value;
$.ajax({
url: '{{ path('followingAction') }}',
type: 'POST',
data: {form: form},
cache: false,
contentType: false,
processData: false,
success: function (returndata) {
Notificacion("success", "Survey Project", "Empezaste a seguir a este usuario");
$.unblockUI();
$('#sample_2').load(window.location + ' #sample_2 > *');
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
Notificacion("error", "Survey Project", "Ha existido un problema y no se ha podido seguir a este usuario.");
$.unblockUI();
}
});
и вот код в моем контроллере, я не могу сделать var_dump или увидеть какие-либо ошибки или что-либо:
* @Route("/following/", name="followingAction")
* Method({"GET", "POST"})
* @param Request $request
* @return Response
*/
public function followingAction(Request $request)
{
$request->isXmlHttpRequest();
$id = $request->query->get('form');
var_dump("doesn't work");die;
$em = $this->getDoctrine()->getManager();
$user = $em->getRepository('ModelBundle:User')->findOneBy(array('id' => $id ));
$seguidor = $em->getRepository('ModelBundle:Followers')->findOneBy(array('id' => $id ));
$seguido = $em->getRepository('ModelBundle:Followers')->findOneBy(array('id' => $id ));
$follower = new Followers();
//$follower->setUsername($seguidor->getUsername());
$follower->setUserId($seguidor->getId());
$follower->setSeguidoId($user->getId());
$em->persist($follower);
$em->flush();
$response = array("code" => 100, "success" => true);
$response = new Response(json_encode($response));
$response->headers->set('Content-Type', 'application/json');
return $response;
и вот мой импорт в контроллере:
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use ModelBundle\Entity\User;
use ModelBundle\Entity\Categoria;
use ModelBundle\Entity\Followers;
use FOS\UserBundle\Event\GetResponseUserEvent;
use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\FilterUserResponseEvent;
use FOS\UserBundle\Event\FormEvent;
use FOS\UserBundle\Form\Factory\FactoryInterface;
use FOS\UserBundle\Model\UserInterface;
use FOS\UserBundle\Model\UserManagerInterface;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;