我正试图从我的nodejs应用中发布数据到一个端点。
我测试了使用Postman发送一些数据到那个端点,一切都很好,我得到了发布的数据,并且全部打印到了控制台。
但是当我使用axios从我的nodejs发送数据时,我总是在我的端点得到空的post数据,这是我的代码。
const FormData = require('form-data');
const axios = require('axios');
function send_to_test() {
const endpoint = 'http://localhost:5000/test';
const form = new FormData();
form.append('string_var', 'some string');
form.append('integer_var', 100);
axios.post(endpoint, form, { headers: form.getHeaders() }).then((res) => {
console.log(res.data);
});
};
这里是我的端点(我使用express js服务器)。
app.post('/test', function(req, res) {
console.log(req.body);
res.json({
status: 'success'
});
});
无法让这个工作,请告知并提前感谢。
你需要在你的端点设置一个表单解析器。你可以利用formidable.代码作为参考。
const form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
if (err) {
return res.status(400).json({ error: err.message });
}
res.json({
status: 'success'
});
}
我希望它能给你更好的画面!