关于axios:axios传递数组参数总结

37次阅读

共计 969 个字符,预计需要花费 3 分钟才能阅读完成。

想要传这样的内容:

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

援用

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 申请形式解决形式如下

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=3

后盾接口接管

(1)数组类型 (int[]) 接管后果
[1,2,3]
(2) 字符串模式 (String) 接管后果
1,2,3
这只是一种模式,大略有 4 种模式:

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/68d81da4e1ad

正文完
 0