Bonjour,
lorsque je clique sur une de mes images, je fais appel à une fonction en javascript qui utilise de l'Ajax mais j'ai une erreur, je penche donc pour une erreur du serveur mais ce que je ne comprends pas, c'est que ça fonctionnait très bien ce matin et tout à l'heure quand je réessaie, ca ne veut plus et je ne comprends pas pourquoi, je précise que j'utilise Zend Framework.Internal Server Error
Voilà mon controlleur avec l'action adéquate:
ma fonction javascript:
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 public function init() { // AjaxContext $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('index', 'html') ->addActionContext('voir-projet', 'html') ->initContext(); } public function voirProjetAction() { // si requete Ajax if ($this->_request->isXmlHttpRequest()) { // Si c'est une requete Ajax, on desactive le layout $this->_helper->layout->disableLayout(); $idProjet = $this->_getParam("idProjet", 0); $projet = new Projet(); $projetRow = $projet->find($idProjet)->current(); if(!$projetRow) { $this->view->projet = false; }else { $technologie = new Technologie(); $technologies = $technologie->getTechnologiesByIdProjet($idProjet); $this->view->projet = $projetRow; $this->view->technologies = $technologies; $this->view->nbrTechnologies = count($technologies); } } }
Et ma vue:
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 function afficherProjet(idProjet) { $.ajax( { url: "index/voir-projet", type: 'GET', context: document.corps, data: { "format" : "html", "idProjet" : idProjet }, error: errorAjax, dataType: "html", success: function(data) { document.getElementById('corps').innerHTML = data; } }); }
Ce que j'ai remarqué, c'est que quand je ne renvois pas de valeur 'idProjet', j'obtiens bien l'erreur comme quoi je n'ai pas de projet mais lorsque je transmets la bonne valeur, ca me met l'erreur interne du serveur et quand je vérifie celle-ci, j'envoie bien la bonne valeur qui existe bien dans la BDD.
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 <table class="tableauProjets"> <?php $i = 0; foreach ($this->projets as $unProjet) { if($i == 0) {?> <tr> <td class="ligneTableauProjets"> <a href="#" onClick="afficherProjet('<?php echo $unProjet->id; ?>')" ><img src=<?php echo $this->baseUrl() . '/public/images/portfolio/' . $unProjet->photo; ?> class="imagesPortfolio" /></a> </td> <?php $i++; }else {?> <td class="ligneTableauProjets"> <a href='#' onclick="afficherProjet('<?php echo $unProjet->id; ?>')" ><img src=<?php echo $this->baseUrl() . '/public/images/portfolio/' . $unProjet->photo; ?> class="imagesPortfolio" /></a> </td> </tr> <?php $i = 0; } } ?> </table>
Si je fais un alert() dans ma fonction javascript, il s'exécute bien lorsque je clique sur une image.
Merci d'avance de votre aide
Partager