Javascript 如何使用NodeJS中的requests模块发送重复的查询字符串

Javascript 如何使用NodeJS中的requests模块发送重复的查询字符串,javascript,node.js,Javascript,Node.js,我有一个请求url,它接受重复的查询字符串来发送数据。格式为: http://<rest_url>/resource?scheduledate=2018-02-25&scheduledate=2018-03-02 现在如何发送重复的查询字符串?我试过了 var yesterday = moment().add(-1,'days').format('YYYY-MM-DD'); var OneDayinFuture=moment().add(1,'days').form

我有一个
请求url
,它接受重复的查询字符串来发送数据。格式为:

http://<rest_url>/resource?scheduledate=2018-02-25&scheduledate=2018-03-02
现在如何发送重复的查询字符串?我试过了

  var yesterday = moment().add(-1,'days').format('YYYY-MM-DD');
  var OneDayinFuture=moment().add(1,'days').format('YYYY-MM-DD');
  var query_string =yesterday+ "&scheduledDate="+OneDayinFuture; 
   var options = {
            url: rest_url ,
            qs:{
              'scheduledDate':query_string               
            },
            auth: {
              'bearer': token[0]['access_token']
            }
          }
端点抛出一个错误


我知道可能有一个选项,我可以用URL附加
query\u字符串
,但这不会像我递归地跟随下一页链接那样起作用。因此,它必须是一个查询字符串,除非有明确的解决方法。我被困在这里了。

将这两个值放在一个数组中,然后通过
{index:false}
以获得
qstringifyoptions
选项:

var options = {
  url: rest_url,
  qs: {
    scheduledDate: [ date1, date2 ],
  },
  qsStringifyOptions: { indices: false },
  //...
};
这记录在qs自述文件的章节中:

当数组字符串化时,默认情况下,它们是显式的 指数:

qs.stringify({ a: ['b', 'c', 'd'] });
// 'a[0]=b&a[1]=c&a[2]=d'
您可以通过将
索引
选项设置为
false
来覆盖此选项:

qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false });
// 'a=b&a=c&a=d'

将参数重命名为scheduledateStart和scheduledateEnd有意义吗?我以前见过这种方法。不幸的是,它是第三方api,所以我不知道它是否有任何权威。太棒了!!我尝试过使用
stringify
,但我不知道你可以将其设置为false。谢谢你,乔丹!!你救了我。它工作得很好
qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false });
// 'a=b&a=c&a=d'