J'implémente une saisie semi-automatique jquery dans un formulaire de recherche et je reçois les suggestions du service de suggestions Autocomple de Google Search Appliance qui renvoie un jeu de résultats dans json. Ce que j'essaie de faire est d'aller à la GSA pour obtenir des suggestions lorsque l'utilisateur tape quelque chose dans la boîte de recherche.JQuery Autocomplete JSON Ajax problème de navigateur croisé avec Google Search Appliance
L'URL pour obtenir les suggestions de JSON est la suivante:
http://gsaurl/suggest?q=<query>&max=10&site=default_site&client=default_frontend&access=p&format=rich
Le JSON qui est retourné est la suivante:
{ "query":"re", "results": [ {"name":"red", "type":"suggest"}, {"name":"read", "type":"suggest"}] }
Le code autocomplete jQuery est la suivante:
$(#q).autocomplete(searchUrl, {
width: 320,
dataType: 'json',
highlight: false,
scroll: true,
scrollHeight: 300,
parse: function(data) {
var array = new Array();
for(var i=0;i<data.results.length;i++)
{
array[i] = { data: data.results[i], value: data.results[i].name, result: data.results[i].name };
}
return array;
},
formatItem: function(row) {
return row.name;
}
});
Cela fonctionne dans IE mais échoue dans firefox car les données retournées dans la fonction d'analyse sont nulles. Des idées pourquoi ce serait le cas?
Solution
J'ai créé une page ASPX pour appeler la GSA propose un service et de retourner le JSON de la suggérer un service. L'utilisation de cette page en tant que proxy et son paramétrage en tant qu'URL dans la saisie semi-automatique jQuery a fonctionné dans IE et FireFox.