IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Ajax avec Jquery et SF2 [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut Ajax avec Jquery et SF2
    Bonjour à tous,

    je cherche à faire une requête en Ajax avec Jquery.

    Le problème c'est que quand j'entre l'url comme ceci :

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $.ajax({
        url: "{{ path('FaridBoiteBundle_homepage') }}",
        methode: "POST",
        success: function(){
            alert("done");
        }
    });

    Quand je regarde la console web de Firefox, il me dit qu'il ne trouve pas la page correspondante.

    Si je mais l'url en dur, ça fonctionne.

    Savez-vous où est mon erreur?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    hello,

    ton code source généré ressemble à quoi exactement ?
    Elle est bien nommée ta route, là ?

    a+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    FaridBoiteBundle_homepage doit correspondra à la route visée qui est définie par tes soins en annotations ou yml ou xml... ou php.
    Un petit si la réponse convient. Merci.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    Oui la route est bien nommé.

    Code yml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    FaridBoiteBundle_homepage:
        pattern:  /hello
        defaults: { _controller: FaridBoiteBundle:Default:index }

    L'url générée ressemble à ça :

    J'ai l'impression que Symfony ne traite pas les fichiers JS et donc ne remplace pas {{ ma_route }} par l'url correspondante.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2009
    Messages : 96
    Points : 111
    Points
    111
    Par défaut
    J'ai l'impression que Symfony ne traite pas les fichiers JS et donc ne remplace pas {{ ma_route }} par l'url correspondante.
    non, le problème ne vient pas de Symfony:
    ici

    mais c'est comme même bizarre ton problème !!!.

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Il semble que ton javascript ne soit pas généré par Twig => les variables Twig ne sont pas interprétées.

    Il faut au moins le renommer en .js.twig, mais sans doute que tu devras le mettre dans le .html.twig de ton dossier Resources/views du bundle..
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Points : 262
    Points
    262
    Par défaut
    Question très bête mais ton js tu le render bien via un fichier twig ?

    Si tu met des balises twig dans un fichier js directement servi par ton serveur les tags ne seront pas traités

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    Effectivement je n'avais pas mis le .twig.

    Je l'ai rajouté mais j'ai toujours le même problème.
    Faut-il le mettre ailleurs que dans le dossier js? Ou alors modifier un paramêtre?

    Sinon j'ai réussi à contourner le problème donc ce n'est pas gênant.

    J'ai un autre problème, je n'arrive pas à récupérer la variable POST dans mon contrôleur, alors que si j'envoie avec la méthode GET, ça marche.

    Mon code :

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var ident = $(this).attr("id");
     
    $.ajax({
    	type: "POST",
    	url: "note",
    	data: ident,
    	success: function(retour){
            alert(retour);
    	}
    });

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $request = $this->getRequest();
     
    $num = $request->request->get('ident');
     
    return new Response('Hello ' . $num . '!');

    Merci.

  9. #9
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Ce qui se trouve dans le dossier web n'est pas interprété par twig...

    Le mieux est de mettre ce bout de code JS dans une .html.twig qui l'utilise

    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $request->request  //Variables passées en POST
    $request->query    //Variables passées en GET
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    Citation Envoyé par pc.bertineau Voir le message
    Ce qui se trouve dans le dossier web n'est pas interprété par twig...

    Le mieux est de mettre ce bout de code JS dans une .html.twig qui l'utilise
    Oui mais le Javascript risque d'être long, ce qui rendrait le tout illisible.
    Mais ça c'est bon j'ai trouvé une solution.

    Citation Envoyé par pc.bertineau Voir le message
    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $request->request  //Variables passées en POST
    $request->query    //Variables passées en GET
    C'est bien ce que j'ai écris? Et dans la doc, il rajoute bien ->get('').
    http://symfony.com/doc/current/book/...request-object

    Je n'arrive pas à voir où je me suis trompé.

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Points : 262
    Points
    262
    Par défaut
    Le soucis viens de ton code JS

    tu passe en data le param ident qui contient une valeur.

    Mais le param ne s’appelle pas ident.

    En fonction de ton framework js il faut que tu modifie le code pour que le champ data vaille ident = lavaleur.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    Ah ben j'ai réussi aprés plusieurs essais.

    Merci.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    Un petit si la réponse convient. Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajout de nouvelle DIV en ajax avec Jquery
    Par thewind1 dans le forum jQuery
    Réponses: 2
    Dernier message: 10/03/2009, 12h24
  2. [JQuery]FCK editor en ajax avec Jquery
    Par dembroski dans le forum jQuery
    Réponses: 1
    Dernier message: 10/09/2008, 22h55
  3. [JQuery] Requête ajax avec jQuery
    Par ApheX2 dans le forum jQuery
    Réponses: 3
    Dernier message: 28/08/2008, 22h40
  4. ajax avec jquery
    Par artotal dans le forum jQuery
    Réponses: 14
    Dernier message: 20/07/2008, 22h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo