web-dev-qa-db-ja.com

配列でaxios paramsを正しく使用する方法

クエリ文字列の配列にインデックスを追加する方法は?

私はこのようなデータを送信しようとしました:

axios.get('/myController/myAction', { params: { storeIds: [1,2,3] })

そして、私はこのURLを得ました:

http://localhost/api/myController/myAction?storeIds[]=1&storeIds[]=2&storeIds[]=3

だから、私はこのURLを取得する必要があります:

http://localhost/api/myController/myAction?storeIds[0]=1&storeIds[1]=2&storeIds[2]=3

このURLを取得するには、paramsオプションに何を追加する必要がありますか?

15
Zin Kun

paramsSerializerを使用し、 https://www.npmjs.com/package/qs でパラメーターをシリアル化できます。

axios.get('/myController/myAction', {
  params: {
    storeIds: [1,2,3]
  },
  paramsSerializer: params => {
    return qs.stringify(params)
  }
})
12
Nicu Criste

JSON.stringifyを使用して文字列の配列をバインドし、paramsで配列を送信します。

let storeIds: [1,2,3];
axios.get('/myController/myAction', { params: { storeIds: JSON.stringify(storeIds) })
0
Pardeep Sharma