Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour Tout le monde,
Je suis débutant en Zend Framework 2, et je voudrai bien faire un champ text avec un assistant de saisie qui prend les information dans la base de données, genre ville par exemple. donc voici mon code et l'erreur qui s'affiche si quelqu'un peu m'aider, merci d'avance .
dans le controleur UserController j'ai cette action là :
public function likeVilleAction()
{
$data = $this->getVilleDAO()->fetchAll();
return $this->getResponse()->setContent(Json::encode($data));
}
dans la vue : index.phtml
le script AJAX
<script>
$(function(){
$("#typeahead").typeahead({
source: function(query, process){
$.ajax({
url:'/user/likeVille',
type: "GET",
data:'query='+ query,
dateType:'JSON',
success:function(data){
process(data);
}
});
}
});
});
</script>
le champ typeahead :
<input type="text" class="span3" id="typeahead" data-provide="typeahead">
et à chaque fois que je modifie mon champ il m'affiche le bug suivant : 500 (Internal Server Error )
j'ai changé la methode POST en mettant GET et toujours le meme problème. j'ai modifié aussi tout les droits d'accès dans fichier de config en mettant tout les AllowOverride All.
Je travaille sous mac et j'utilise MAMP comme serveur Web et je n'ai pas trouvé le fichier .htaccess
Merci pour votre aide.
Hors ligne
http://www.z-f.fr/forum/viewtopic.php?id=6704
cela pourra peut être t'aider
Hors ligne
Bonjour Flobrflo,
Merci pour votre réponse. mais ca ne marche toujours pas j'ai tout essayé et j'ai toujours le meme problème !!!
toujours le même message d'erreur sans log coté serveur web :'( :'(.
si vous pouvez m'aider, merci d'avance.
Hors ligne
A tu vérifié que l'url et les paramètres sont correct?
Quand tu ouvre l'url dans le navigateur le contenu s'affiche correctement?
Cela provient peut être de ton JQuery qui ne peu envoyer la requête correctement. Essai de mettre le data comme ceci:
data:{ query : query },
Je ne connais pas vraiment la fonction typeahead() , mais dans le doute regarde du ce coté : http://api.jqueryui.com/autocomplete/
Ensuite je trouve cela curieux de passer en paramètre le nom d'une fonction :
source: function(query, process){ .... process(data);
Hors ligne
Bonjour,
J'ai trouvé le problème c'est un bug JSON, du coup j'ai modifié juste ma méthode dans le controleur et ca marche
public function likeVilleAction()
{
$dataObjet = $this->getVilleDAO()->fetchAll();
$data = array();
/*
$i=0;
foreach ($dataObjet as $row) {
$data[$i]['id'] = $row->idVille;
$data[$i]['libelle']= $row->libelle;
$i++;
}
*/
foreach ($dataObjet as $row) {
$data[] = $row->libelle;
}
return $this->getResponse()->setContent(Json::encode($data));
}
merci infiniment pour ton aide.
A+
Hors ligne
Pas de problème^^
Si ton post est résolu, n'oublie pas de le signaler
Exemple: [résolu]Champ auto-complétion Text + Ajax+ MySql+ FZ2
Hors ligne
[résolu]Champ auto-complétion Text + Ajax+ MySql+ FZ2
Hors ligne
C'est dans le titre qu'il faut le faire en modifiant ton premier message mais je l'ai fait pour toi
Hors ligne