J'essaie d'implémenter this tutoriel dans mon application. J'ai réussi à le faire fonctionner jusqu'à ce que je devais modifier le contrôleur de vue et ajouter le lien au fichier .ajax.html.problème avec jquery autocomplete et zend framework
Mon code à ce jour:
class MenuController extends Zend_Controller_Action {
public function init() {
$this->_helper->ajaxContext()->addActionContext('addRecipe', 'html')->initContext();
parent::init();
}
public function addRecipeAction() {
if ($this->_helper->ajaxContext()->getCurrentContext()) {
$this->view->words = array('leon', 'lionel', 'Lenny', 'Linda', 'Lindy');
}
$recipeForm = new Application_Form_Recipe();
$recipeForm->setMethod('post');
$recipeForm->setAction('/menu/add-recipe');
$this->view->recipeForm = $recipeForm;
}
}
L'add-recipe.ajax.phtml fichier:
<?php
foreach ($this->words as $word) {
echo "{$word}\n";
}
?>
Le fichier de vue add-recipe.phtml
<?php
echo $this->headLink()->appendStylesheet('/js/jquery/css/jquery.autocomplete.css');
$this->jQuery()->enable();
$this->jQuery()->addJavascriptFile('/js/jquery/js/jquery.autocomplete.js');
?>
<script type="text/javascript">
$(document).ready(function(){
$('#username').autocompleteArray('http://bucatarie/menu/add-recipe/format/html');
});
</script>
<input type="text" name="username" id="username" />
Pour certains raison étrange si je remplace $('#username').autocompleteArray('http://bucatarie/menu/add-recipe/format/html');
avec $('#username').autocompleteArray(['Jack', 'John', 'Jason', 'Jeremy', 'jimmy', 'jean']);
cela fonctionne parfaitement. Je n'arrive pas à comprendre quel est le problème.
Vous n'avez même pas besoin d'une vue à cela. –
parce que le script est déjà fait, donc je pensais que ce serait très simple à mettre en œuvre en utilisant ce tutoriel. Cela fonctionne si je fournis les données dans le fichier js. Sinon rien ne se passe – user253530
Avez-vous déjà vu la réponse ajax dans firebug? A quoi ressemble-t-il? Si vous accédez à la page de votre navigateur (utilisé dans l'ajax) vous avez le résultat attendu? –