Как отправить данные JSON через AJAX на мой контроллер в Symfony? - PullRequest
0 голосов
/ 04 июля 2019

Я плохо пытаюсь отправить данные через 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...