Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AJAX call having jQuery-built query string with duplicate keys

Apache Solr asks that one of the GET parameters sent to it's endpoint is a name duplicated:

facet.range=price&facet.range=age

Documentation here:

http://wiki.apache.org/solr/SimpleFacetParameters#facet.range

In jQuery, how can I include that query string parameter (facet.range) twice? I cannot make an object with duplicate keys, but this is along the lines of what I need to do:

context = {
    'facet.range': 'price',
    'facet.range': 'age', // This will be the only element in this dictionary as the key names are the same
}

$.ajax({
    type: "get",
    url: 'http://127.0.0.1:8983/solr/select',
    dataType:"jsonp",
    contentTypeString: 'application/json',
    jsonp:"json.wrf",
    data: context,
    success:function (data) {
        ...
    }
});
like image 455
Mark L Avatar asked Sep 21 '12 14:09

Mark L


1 Answers

Use 'facet.range': ['price', 'age'] in your params object and set traditional to true in the ajax call in order to enforce "traditional" serialization of parameters, that is foo=1&foo=2 instead of foo[]=1&foo[]=2.

like image 168
georg Avatar answered Oct 20 '22 09:10

georg