Apache Solr demande que l'un des paramètres d'obtention d'envoi à son point final est un nom dupliqué: documentation ici: p> http://wiki.apache.org/solr/simplefacetParameters#faceet.range P> JQuery, comment puis-je inclure ce paramètre de chaîne de requête ( facet.range code>) deux fois? Je ne peux pas faire un objet avec des clés en double, mais ceci est dans le sens de ce que je dois faire: p>
5 Réponses :
Vous pouvez ajouter les arguments manuellement à l'URL.
$.ajax({
type: "get",
url: 'http://127.0.0.1:8983/solr/select?facet.range=price&facet.range=age', // Add other parameters in the url
dataType:"jsonp",
contentTypeString: 'application/json',
jsonp:"json.wrf",
success:function (data) {
...
}
});
Ou, vous pouvez transmettre une chaîne de requête au paramètre data code>.
Je pense que le seul moyen autour de celui-ci est de "Code dur" les données comme paramètres de chaîne de requête au lieu de transmettre des données
Je suis inconnu avec Apache Solr mais je sais que vous pouvez simplement recréer l'URL pour transmettre les paramètres
$.ajax({
type: "get",
url: 'http://127.0.0.1:8983/solr/select?'+ "facet.range=price&facet.range=age",
success:function (data) {
...
}
});
jQuery utilise en interne $. Param code> pour les formulaires de sérialisation, vous pourrez donc faire la même chose: data = $.param(
{ name: 'facet.range', value: 'price' },
{ name: 'facet.range', value: 'age' }
)
Utiliser 'facet.range': ['Prix', 'Âge'] Code> Dans votre objet Params et définissez traditionnel code> sur true dans l'appel Ajax afin d'appliquer "traditionnel" sérialisation des paramètres, c'est foo = 1 & foo = 2 code> au lieu de foo [] = 1 & foo [] = 2 p>. p>.
Cela ressemble à la réponse la plus propre. Je détesterais construire manuellement des requêtes. Merci.