Bonjour à tous,
J'ai suivi le tutoriel de Jerôme Place afin d'améliorer ma photothèque sous Symfony2. J'ai donc voulu faire un moteur de recherche afin de pouvoir rechercher les photos par leurs noms dans un premier temps.
Mon problème se situe dans le javascript de mon template twig:
Le problème se situe au niveau de la variable url_target. Il y a 2 cas de figure :
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 {% extends 'FrontendPhotothequeBundle::layout.html.twig' %} {% block title %}Rechercher des photos{% endblock %} {% block content %} <form id="form_recherche" action="{{ path('FrontendPhotothequeBundle_photo_rechercher') }}" method="post"> {{ form_widget(form) }} <input type="submit" value="Rechercher" /> </form> <div class="loading" style="margin: 0 auto;"></div> <div id="liste_photo"> <div class="nb_results"> {% if nb_photos == 1 %} {{ nb_photos }} résultat {% else %} {{ nb_photos }} résultats {% endif %} </div> {% include 'FrontendPhotothequeBundle:Photo:liste.html.twig' with {'photos' : photos} %} </div> <div class="add-btn"> <a href="{{ path('FrontendPhotothequeBundle_photo_ajouter') }}"><img src="{{ asset('bundles/frontendphototheque/images/add.png') }}" width="32" height="32" />Ajouter une photo</a> </div> <script> $(".loading").hide(); $("#form_recherche").submit(function(){ $(".loading").show(); var nomphoto = $("#photorecherche_nomphoto").val(); //var url_target = {{ path('FrontendPhotothequeBundle_photo_rechercher') }}; var url_target = $("#form_recherche").attr("action"); alert(url_target); var data_form = 'nomphoto=' + nomphoto; $.ajax({ type: "POST", url: url_target, data: data_form, cache: false, success: function(data){ $('#liste_photo').html(data); $(".loading").hide(); } }); return false; }); </script> {% endblock %}
- le 1er cas :
Lorsque j'essaye avec cette valeur le traitement s'arrête au niveau de cette variable et j'ai l'erreur suivante dans Firebug
Code : Sélectionner tout - Visualiser dans une fenêtre à part var url_target = {{ path('FrontendPhotothequeBundle_photo_rechercher') }};
"SyntaxError: invalid regular expression flag f
var url_target = /app_dev.php/frontend/photo/rechercher;"
avec une flêche qui pointe sur le f de frontend.
Par contre le formulaire est quand même envoyé puisque je me retrouve sur la page http://phototheque_v2/app_dev.php/fr...oto/rechercher.
- le 2ème cas :
Dans ce cas-ci, j'ai l'erreur 500 suivante dans Firebug "
Code : Sélectionner tout - Visualiser dans une fenêtre à part var url_target = $("#form_recherche").attr("action");
POST http://phototheque_v2/app_dev.php/fr...oto/rechercher 500 Internal Server Error" et ça pointe vers la ligne jQuery suivante :"
xhr.send( ( s.hasContent && s.data ) || null );"
Et là le formulaire n'est pas envoyé.
J'ai cherché toute la journée d'hier sans succès
Merci d'avance à ceux qui essaieront de m'aider
[EDIT]
Pour le 1er cas avec l'erreur du flag c'est juste qu'il manque les "" autour du path.
Maintenant j'ai juste une erreur 500 dans les 2 cas...
[EDIT 2]
En fait le problème venait de la variable pagerfanta (pour la pagination) que je ne passais pas à ma vue liste.html.twig dans mon controller.
problème résolu !
Partager