是因为VueJs默认使用了application/json作为POST请求的Content-Type,而服务器端可能期望接收的是application/x-www-form-urlencoded格式的数据。
为了解决这个问题,可以通过以下两种方式来调整VueJs发送POST请求的数据格式:
// 创建FormData对象
var formData = new FormData();
// 添加数据到FormData对象
formData.append('key1', 'value1');
formData.append('key2', 'value2');
// 发送POST请求
axios.post('/api/endpoint', formData)
.then(function (response) {
// 处理响应
})
.catch(function (error) {
// 处理错误
});
// 设置请求头
axios.post('/api/endpoint', {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data: {
key1: 'value1',
key2: 'value2'
}
})
.then(function (response) {
// 处理响应
})
.catch(function (error) {
// 处理错误
});
以上是针对VueJs发送到服务器的POST数据格式奇怪的解决方案。根据具体的业务需求和服务器端的要求,选择适合的方式来发送POST请求,并确保数据格式的一致性。
领取专属 10元无门槛券
手把手带您无忧上云