如何使用相同的查询参数发送带superagent的请求
我试图做一个PHP服务器,这是构build这样的url的请求:
website.com/?q=help&q=moreHelp&q=evenMoreHelp
如何使用superagent将多个值传递给相同的查询?
我试过这个:
req.get( 'website.com')查询({Q: '救命',问: 'moreHelp',问: 'evenMoreHelp'})。结束(…)
但我不确定它实际上是发送所有三个'Q'值。 我该怎么做,以确保他们都被发送?
当您以您尝试的方式传递查询时,您肯定不会看到所有三个q
值,因为您正在创build一个JavaScript对象,而且只会有一个q
值:
$ node > {q:'help',q:'moreHelp',q:'evenMoreHelp'} { q: 'evenMoreHelp' }
Superagent允许查询string,如本例中直接从文档 :
request .get('/querystring') .query('search=Manny&range=1..5') .end(function(res){ });
所以如果你传递string'q=help&q=moreHelp&q=evenMoreHelp'
你应该没关系。 就像是:
req.get('website.com').query('q=help&q=moreHelp&q=evenMoreHelp').end(...)
如果这太丑了,你可以试试(警告:我没有试过这个):
req.get('website.com') .query({ q: 'help' }) .query({ q: 'moreHelp' }) .query({ q: 'evenMoreHelp' }) .end(...);
从Superagent 1.5.0开始,您可以传递一个数组作为查询对象的一个属性,它将生成多个同名的查询参数:
req.get('website.com').query({foo: ['bar1', 'bar2']})
结果在website.com?foo=bar1&foo=bar2
作为一个侧面说明,如果你想要Rails parameter[]=value
语法,那么以下工作适合我:
req.get('website.com').query({'foo[]': ['bar1', 'bar2']})