>

request url 가있다  중복 쿼리 문자열을 받아 들여 데이터를 보냅니다. 형식은 다음과 같습니다.

http://<rest_url>/resource?scheduledate=2018-02-25&scheduledate=2018-03-02

두 날짜 사이의 데이터를 검색합니다. 문제는 이제 쿼리 문자열을 보내는 방법입니다. requests 를 사용하고 있습니다 . 내 코드는

var options = {
            url: rest_url ,
 // this will not work since you cant have duplicate keys
            qs:{
              'scheduledDate':moment().add(-1,'days').format('YYYY-MM-DD'),
              'scheduledDate':moment().add(1,'days').format('YYYY-MM-DD');
            },
            auth: {
              'bearer': token[0]['access_token']
            }
          }
          // **************** Rest Request to API *************************
          request.get(options, function(error, response, body) {
            if (!error && response.statusCode === 200) {

이제 중복 쿼리 문자열을 보내려면 어떻게해야합니까? 나는 시도했다

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

엔드 포인트에서 오류가 발생했습니다.

query_string 를 추가 할 수있는 옵션이 있다는 것을 알고 있습니다  URL을 사용하지만 다음 페이지 링크를 재귀 적으로 따라 가면 작동하지 않습니다. 따라서 명확한 방법이 없다면 쿼리 문자열이어야합니다. 나는 여기에 붙어 있습니다.

  • 답변 # 1

    배열에 두 값을 넣고 { indices: false } 를 전달하십시오.   qsStringifyOptions 를 위해  옵션 :

    var options = {
      url: rest_url,
      qs: {
        scheduledDate: [ date1, date2 ],
      },
      qsStringifyOptions: { indices: false },
      //...
    };
    
    

    qs README의 Stringifying 섹션에 설명되어 있습니다 :

    와이즈 비즈 와이즈 비즈

         

    When arrays are stringified, by default they are given explicit indices:

    를 설정하여이를 무시할 수 있습니다
     
    qs.stringify({ a: ['b', 'c', 'd'] });
    // 'a[0]=b&a[1]=c&a[2]=d'
     옵션
    :

    indices
    
    

    false

관련 자료

  • 이전 javascript - onRowSelect ajax 이벤트로 jQuery를 호출하는 방법은 무엇입니까?
  • 다음 python 3.x - 목록 B에서 발생하는 목록 A의 변수를 찾기위한 while 루프