AJAX Simple demande au contrôleur - Symfony3
- Je utiliser Symfony3 avec PhpStorm.2016.3.2 sur Ubuntu16.04
Je n'ai jamais fait une requête AJAX avant et aimerait tester un appel au contrôleur de vue->pour le contrôleur->qu'il envoie une réponse à la vue dans le JSON.
Alors j'ai lu la doc, mais ils sont tous très spécifiques. Donc, mon désir est d'être capable d'écrire une simple requête AJAX dans une vue(index.html.twig)
,pour le tester, de faire un appel pour le contrôleur(MainController.php)
et retourner la réponse dans JSON
dans la vue.
C'est mon point de vue:
{% extends 'app/layout.html.twig' %}
{% block content %}
{% endblock %}
Mon contrôleur:
class MainController extends Controller
{
public function indexAction()
{
return $this->render('app/main/index.html.twig');
}
}
Je ne veux vraiment pas faire le travail fait par les autres, je veux juste un soupçon de comment le faire fonctionner. Donc, je suis désolé si mon billet est plutôt vide, mais peut-être que ça peut aider d'autres personnes, comme moi, de savoir par où commencer.
OriginalL'auteur chicken burger | 2017-02-14
Vous devez vous connecter pour publier un commentaire.
Vous devez d'abord enregistrer l'itinéraire de votre contrôleur:
Puis de charger jQuery dans votre vue principale, vous avez peut-être déjà fait. Vous avez besoin d'un appel à l'action dans votre modèle, une certaine détente de début de la requête AJAX:
Et à moins que votre contrôleur est très simple:
Je pense que ce concept devrait indiquer clairement comment il peut travailler
if($request->isXmlHttpRequest())
pour la requête AJAX? Je pensais donc...Vous pouvez, de son à vous de décider comment vous correspondre à la demande. J'ai montré à un de nombreuses options.
Ok merci 🙂 je vais essayer ça tout de suite et vous faire savoir.
Hm c'est pas vraiment :/ j'ai essayé avec une var comme ces données:
{ "$test": "hello world" }
, et aussi l'url n'est pas de l'url:{{ (path('ajax_request')) }}
, je pense, j'ai utilisé(path('app_bundle_route'))
pour le match. Mais je ne peux pas le faire fonctionner réellement. @RawburnerN'oubliez pas
use Symfony\Component\HttpFoundation\JsonResponse;
dans le contrôleur.OriginalL'auteur Rawburner