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

想要传这样的内容:

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理