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

相关文章
相关标签/搜索