可能是Axios中的paramsSerializer函数将参数序列化为URLEncoded字符串,导致奇怪的字符串添加到URL末尾。可以通过手动序列化请求参数,避免这个问题。
代码示例:
方法1:手动序列化参数
const params = {
key1: 'value1',
key2: 'value2'
};
const qs = Object.keys(params)
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)
.join('&');
axios.post('/api/endpoint', qs);
方法2:使用qs库
const qs = require('qs');
const params = {
key1: 'value1',
key2: 'value2'
};
axios.post('/api/endpoint', qs.stringify(params));