[autocomplete] Requête sur fichier PHP to JSON
Bonjour
Je me suis heurté à un problème en utilisant le module autocomplete de JqueryUI. Le souci c'est que je ne sais pas vraiment d’où cela vient.
Voila la situation. Je cherche à appeler un script php, afin de récupérer des info au format JSON, comme autocomplete les attend.
Je l'appel en POST et lui passe comme paramètre la chaine que l'utilisateur et entrain d'écrire, ainsi que la valeur d'un select.
A la suite de quoi le script effectue des requetes dans la db, et renvois une chaine de caractère du format suivant :
["data1","data2","data3"];
Elle apparait correctement dans les log de connexion de FireBug bien qu'il la considère comme étant du HTML.
Le souci c'est qu'il ne se passe rien ensuite.
Comme si le retour du script partait dans vide.
Aucune suggestion de cet liste n'est proposé.
C'est la première fois que je manipule du JSON, alors le problème vient peut être de la :/
Voici le code que j'utilise. Es ce que quelqu'un se sent inspiré ?
Code:
1 2 3 4 5 6 7 8 9
| <form id="rechercher" name="rechercher">
<select name="request_type" form="rechercher">
<option selected="selected" value="people">people</option>
<option value="video">video</option>
<option value="photo">photo</option>
</select>
<input type="text" name="request_pattern" value="toto" class="champRecherche" />
<button type="submit" name="btnRecherche" value="" class="btn btn-primary" /><i class="icon-search"></i></input>
</form> |
Code:
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
| <script type="text/javascript">
$(document).ready(function(){
var request_type = $("select[name='request_type'] option:selected").val();
$("select[name='request_type'] option:selected").change(function(){
request_type = $("select[name='request_type'] option:selected").val();
});
$("input[name='request_pattern']").autocomplete({
source : function(requete, reponse){
$.ajax({
url : '../php/ajax_recherche.php', // chemin du script
type: 'post', // type de requete
dataType: "json", // format du retour
data : {
request_type : request_type, // valeur du select
request_pattern : requete.term // valeur du champ de recherche
},
success : function(donnee){
reponse(donnee);
}
});
},
minLength: 2,
delay: 500,
autoFocus: true,
my : 'bottom',
at : 'bottom'
});
});
</script> |
Cordialement, merci de m'avoir lu