J'essaie d'implémenter une recherche en direct sur mon site de photos en utilisant jQuery et le plugin autocomplete. Tout fonctionne quand je les spécifions données localement:Aide pour passer le tableau JSON multidimensionnel à la saisie semi-automatique jQuery via AJAX
var data = [ {text:'Link A', url:'/page1'}, {text:'Link B', url: '/page2'} ];
Cependant quand je déplace ce à PHP, jQuery est incapable d'analyser correctement les résultats. Je ne suis pas vraiment sûr de ce qui se passe ici. Mon code actuel est ci-dessous:
<script>
$(document).ready(function(){
var data = '/livesearch';
$("#aut_field").autocomplete(data, {
formatItem: function(item) {
return item.text;
}
}).result(function(event, item) {
location.href = item.url;
});
});
</script>
Et mon script PHP imprime un tableau multidimensionnel dans le format suivant:
{"1":{"text":"Google Website","url":"http:\/\/www.google.com"},
"2":{"text":"Yahoo Website","url":"http:\/\/yahoo.com"},}
Cependant quand je alerte (item.text) la variable dit non définie.
Si je alerte (item), je vois toute la chaîne sortie en PHP.
J'ai essayé de jouer avec eval() mais je ne sais pas où l'installer ou comment interpréter les données par JS. Merci de votre aide. Exemple de code spécifique à ma mise en œuvre est apprécié.
ce qui est avec {ldelim} et {} rdelim dans le premier extrait de code? –
Désolé - devrait lire {et} ... c'était un copier-coller de Smarty. Fixé. – ensnare