我想使用Axios上传文件,但是为此我需要使用formData,我的问题是,当我使用formData时,数据根本不会发送。
这是我的代码没有 formData,它的工作正常,所有数据都已发送:
axios({
method: 'post',
url: jsonurl,
data: {
session_id: '123',
},
headers: {
'Content-Type': 'multipart/form-data',
}
})
.then((value) => {
console.log(value); // return in console : status 200 and config: data: session_id: "123" ...
})
.catch(err=>console.error(err));
与formData相同的代码(不发送数据,$ _ GET ['id']不存在):
const formData = new FormData();
formData.append('session_id', '123');
axios({
method: 'post',
url: jsonurl,
formData,
headers: {
'Content-Type': 'multipart/form-data',
}
})
.then((value) => {
console.log(value); // return in console : status 200 but config: data: FormData {}
})
.catch(err=>console.error(err));
未发送数据,返回控制台状态200,但 config:data:FormData {} (因此没有数据),并且在后端$ _POST ['session_id']不存在,将发送该表单(我得到jsonencode返回),但是没有输入数据。
我也没有发现任何错误。
答案 0 :(得分:0)
最后我找到了解决方案,我的语法错误,这是一个可行的方法:
var postResults = await axios.post(jsonurl,
formData,
{
headers: {
'Content-Type': 'multipart/form-data'
}
}
)
.then(function(value){
console.log(value);
return value;
})
.catch(function(error){
console.log(error);
});