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 :

Symfony et ajax [2.x]


Sujet :

Symfony PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Symfony et ajax
    Bonjour à tous ,

    je veux insérer des nouveaux événements à l'aide d'une requête ajax

    Table événement:


    id (int)

    title (varchar)

    start(DateTime)

    end(DateTime)


    mais j'ai un problème lors de la récupération des variables (title,start,end) dans mon controller(symfony2.4)

    merci d'avance

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <html>
    <head>
     
    <link  href="{{ asset('css/stylecalendar.css')}}" rel="stylesheet" type="text/css">
    <link  href="{{ asset('css/fullcalendar.css')}}" rel="stylesheet" type="text/css">
     
    <script src="{{ asset('js/jquery.min.js')}}" type="text/javascript"></script>
    <script src="{{ asset('js/jquery-ui.custom.min.js')}}" type="text/javascript"></script>
    <script src="{{ asset('js/fullcalendar.min.js')}}" type="text/javascript"></script>
     
     
    </head>
    <body>
     
        <div id="calendar"></div>
    <script>
     
        $(document).ready(function() {
     
            var date = new Date();
            var d = date.getDate();
            var m = date.getMonth();
            var y = date.getFullYear();
     
            $('#calendar').fullCalendar({
     
                        selectable: true,
                        selectHelper: true,
                        select: function(start, end, allDay) {
                        var title = prompt('Event Title:');
                            start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss");
                            end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss");
                            calendar.fullCalendar('unselect');
     
                      $.ajax({
                             url: "{{ path('insertevent') }}",
                             data: 'title='+ title+'&start='+ start +'&end='+ end ,
                             type: "POST",
     
                             success: function() {
                                   alert('OK');
                 }
                 });
     
                },
                            editable: true,
                events: [
                                {% for item in tab %}
                                   {
                                   id: {{ item.id }},
                                   title: '{{ item.title }}',
                                   start: new Date({{ item.startY }}, {{ item.startM }}, {{ item.startD }}),
                                   end: new Date({{ item.endY }}, {{ item.endM }}, {{ item.endD }})
     
                                    }
                             {% if loop.last %}{% else %},{% endif %}{% endfor %}
     
                            ]
     
            });
     
     
        });
     
    </script>
    </body>
    </html>

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Points : 219
    Points
    219
    Par défaut
    Fais voir le code du controller où tu récupères les variables.
    Jérôme

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci
    Voici mon code du function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
      public function insertEventAction(Request $request){
     
            $request = $this->getRequest();
            $em = $this->getDoctrine()->getManager();
            if($request->isXmlHttpRequest())
     
            {
                $title=$request->get("title");
                $start=$request->get("start");
                $end=$request->get("end");
     
     
     
              $evt=new Evenement();//entity Evenement
     
             $evt->setTitle($title);
             $evt->setStart($start);
             $evt->setEnd($end);
     
     
                $em->persist($evt);
                $em->flush();
     
     
            }
        return $this->getEventAction();   } //Afficher tous les événements
    }

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Peut-être en laissant jquery encoder proprement tes données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     $.ajax({
                             url: "{{ path('insertevent') }}",
                             data: {'title':title,'start':start,'end':end} ,
    Que dit la console du navigateur?
    Que dit le profiler Symfony pour ta requete Ajax (onglet Request)?

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Il n’accède pas au path "url: (Nom : Request.PNG
Affichages : 272
Taille : 8,8 Ko{{ path('insertevent') }}",)qu'on défini dans ajax

  6. #6
    Membre habitué Avatar de anikon
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 57
    Points : 133
    Points
    133
    Par défaut
    As tu vérifié dans le source de ta page si ton path génère la bonne route ?
    De plus ton retour de méthode ajax "return $this->getEventAction()" me semble bizarre ?? Que fait cette méthode exactement ?

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    merci a ts est résolu l'erreur c'etait probléme de conversion DateTime

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

Discussions similaires

  1. [2.x] symfony et ajax
    Par asmasamasim dans le forum Symfony
    Réponses: 3
    Dernier message: 26/05/2013, 22h33
  2. [1.x] action symfony avec ajax
    Par elavoine dans le forum Symfony
    Réponses: 3
    Dernier message: 30/08/2010, 19h15
  3. Réponses: 11
    Dernier message: 06/07/2010, 20h35

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