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
Internal Server Error
, 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.

Voilà mon controlleur avec l'action adéquate:
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);
             }
        }
    }
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
 
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;
		   }
	});
}
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
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>
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.

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