axios傳遞數組參數總結

想要傳這樣的內容:ios

axios.post(url,{
  ids: [1,2,3],
  type: 1
}).then((res) => {})

引用axios

import axios from 'axios'
import qs from 'qs'

get / delete請求方式解決方式以下數組

axios.get(url, {
  params: {
    ids: [1,2,3],
    type: 1
  },
  paramsSerializer: params => {
    return qs.stringify(params, { indices: false })
  }
})
axios.delete(url, {
  params: {
    ids: [1,2,3],
    type: 1
  },
  paramsSerializer: params => {
    return qs.stringify(params, { indices: false })
  }
})

post / put 請求方式解決方式以下post

axios.post(url, qs.stringify(
  params: {
    ids: [1,2,3],
    type: 1
  }, { indices: false })
)
axios.put(url, qs.stringify(
  params: {
    ids: [1,2,3],
    type: 1
  }, { indices: false })
)

其他相似。這樣一來,數組參數就會轉換爲以下的形式
url?ids=1&ids=2&id=3url

後臺接口接收

(1)數組類型(int[])接收結果
[1,2,3]
(2)字符串形式(String)接收結果
1,2,3
這只是一種形式,大概有4種形式:code

qs.stringify({ids: [1, 2, 3]}, { indices: false })
//形式: ids=1&ids=2&id=3
qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘indices‘})
//形式: ids[0]=1&ids[1]=2&ids[2]=3
qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘brackets‘})
//形式:ids[]=1&ids[]=2&ids[]=3
qs.stringify({ids: [1, 2, 3]}, {arrayFormat: ‘repeat‘})
//形式: ids=1&ids=2&id=3

原文:https://www.jianshu.com/p/68d81da4e1adorm

相關文章
相關標籤/搜索