I am trying to make a request against a php server that is constructing the url like this:
website.com/?q=help&q=moreHelp&q=evenMoreHelp
How do I use superagent to pass the same query with multiple values?
I've tried this:
req.get('website.com').query({q:'help',q:'moreHelp',q:'evenMoreHelp'}).end(...)
But I'm not sure it is actually sending all three 'q' values. What am I supposed to do to make sure they all get sent?
You definitely will not see all three q
values when you pass the query in the manner you are trying, because you are making a JavaScript object there and yes, there will only be one q
value:
$ node
> {q:'help',q:'moreHelp',q:'evenMoreHelp'}
{ q: 'evenMoreHelp' }
Superagent allows query strings, as in this example straight from the docs:
request
.get('/querystring')
.query('search=Manny&range=1..5')
.end(function(res){
});
So if you pass the string 'q=help&q=moreHelp&q=evenMoreHelp'
you should be okay. Something like:
req.get('website.com').query('q=help&q=moreHelp&q=evenMoreHelp').end(...)
If this is too ugly, you can try (WARNING: I have not tried this):
req.get('website.com')
.query({ q: 'help' })
.query({ q: 'moreHelp' })
.query({ q: 'evenMoreHelp' })
.end(...);