axios get携带数组请求 post form-data请求 数组请求

注:默认已经install与引入qs

1.POST

  • 一 .json请求,那么就不需要修改什么。
  • 二.form-data或x-www-form-urlencoded请求:

可以在发送请求的时候加上:

this.axios({
	url:'请求地址',
	method:'post',
	data: {'key':'值'},
	transformRequest: [data => {
              return this.qs.stringify(data)
    }]
})

或者可以在拦截器里加上(当然要在拦截器文件处引入qs)

axios.interceptors.request.use(
	config => {
		config.data = qs.stringify(config.data)
		return config
	},
	error => {
	}
)
  • 三.post携带数组:
    只需对qs语句进行修改
qs.stringify(config.data, { arrayFormat: 'repeat', allowDots: true })

2.GET

携带数组传参:

this.axios({
	url:'请求地址',
	method: 'get',
	params: {
		paramArr:['1','2']
	},
	paramsSerializer: params => {
          return this.qs.stringify(params, { indices: false })
    }
})

关键在于用paramsSerializer进行序列化。

上一篇:vue-axios传递数组参数


下一篇:qs.stringfy序列化处理入参( a:[1,2,3,4] => a=1&a=2&a=3&a=4 )