Bonjour,
j'essaie d'envoyer des fichiers vers le serveur en créant des traces sur ces opérations.
En méthode post , pas de sourcil . Par contre avec ajax , pas d'exception mais ça marche plus !!
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
 
     if ($request->isXmlHttpRequest()) {
            $form->handleRequest($request);
            if ($form->isValid()) {
 
               if ($enable) {
                /*                 * ************************************** BEGIN TRANSACTION ******************************************** */
               $em->getConnection()->beginTransaction();        //// optionnel
                 try {
                     $form->bind($request);
                     $this->get('Traces')->CreeTracesEnvoiFichiers($Societe);
                     $this->get('UploadFile')->UploadFile($Societe);
                     $em->getConnection()->commit();           //// optionnel
                 } catch (\Exception $e) {                //// optionnel
                     $em->getConnection()->rollback(); //// optionnel
                     $em->close();                     //// optionnel
                     throw $e;                         //// optionnel
              }     
 
                return $this->container->get('templating')->renderResponse('AppGestionBundle:Default/index.html.twig');
            } 
 
        }
         }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
 <form id="upload" method="post" action='{{path('envoifichier')}}' enctype="multipart/form-data" class="form-horizontal">
//
</form>
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
 
<script src="{{ asset('bundles/espritappgestion/js/jquery-ajax/jqueryajax.min.js') }}" type="text/javascript"></script>
<script type="text/javascript">
        $(function () {
            $("#upload").submit(function (e) {
                e.preventDefault();            
                $.ajax({
                    type: 'post',
                    url: "{{path('envoifichier') }}", 
                    data: $(this).serialize(),
                    datatype: "json",
                    cache: false,
                    beforeSend: function () {
                         console.log('beforeSend');
                    },
                    success: function (data)
                    {
                        console.log('success');
                    },
                    error: function () {
                       console.log('errors');
                    }
 
 
                });
 
                return false;
            });
        });
    </script>
Dans ma console , je vois 'beforeSend' ensuite 'success' mais pas defichiers copiés et pas de trace dans la bdd !!
merci d'avance,