7
votes

Ajax Call Avoir une chaîne de requête construite de jQuery avec des clés en double

Apache Solr demande que l'un des paramètres d'obtention d'envoi à son point final est un nom dupliqué: xxx

documentation ici:

http://wiki.apache.org/solr/simplefacetParameters#faceet.range

JQuery, comment puis-je inclure ce paramètre de chaîne de requête ( facet.range ) 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: xxx


0 commentaires

5 Réponses :


2
votes

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) {
           ...
       }
   });


1 commentaires

Ou, vous pouvez transmettre une chaîne de requête au paramètre data .



0
votes

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 xxx


0 commentaires

-1
votes

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) {
        ...
    }
});


0 commentaires

3
votes

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' }
)


0 commentaires

13
votes

Utiliser 'facet.range': ['Prix', 'Âge'] Dans votre objet Params et définissez traditionnel sur true dans l'appel Ajax afin d'appliquer "traditionnel" sérialisation des paramètres, c'est foo = 1 & foo = 2 au lieu de foo [] = 1 & foo [] = 2 . .


1 commentaires

Cela ressemble à la réponse la plus propre. Je détesterais construire manuellement des requêtes. Merci.