技術浮浪貢

用 request 送出同名多值的 query 參數

以 form POST 為例,一般寫法:

1request.post({  
2    url: ...,  
3    form: {  
4        paramKey: [ 'value 1', 'value 2' ],  
5    }  
6}, (error, response, body) => { ... });

會送出這樣的 request body(key 後面加上 [0][1]、……):

paramKey%5B0%5D=value+1&paramKey%5B1%5D=value+2

如果想像這樣重複送出同樣的 key:

paramKey=value+1&paramKey=value+2

可以

 1request.post({  
 2    url: ...,  
 3    form: {  
 4        paramKey: [ 'value 1', 'value 2' ],  
 5    },  
 6  
 7    // 改用內建的 querystring 模組  
 8    useQueryString: true,    
 9
10}, (error, response, body) => { ... });

或是:

 1request.post({  
 2    url: ...,  
 3    form: {  
 4        paramKey: [ 'value 1', 'value 2' ],  
 5    },
 6
 7    // 指定給 qs 的參數  
 8    qsStringifyOptions: {  
 9        arrayFormat: 'repeat',  
10    },
11
12}, (error, response, body) => { ... });

#JavaScript

« 上一篇

下一篇 »

相關文章