我正试图开发一个Flutter移动应用程序,并希望将表单字段中的值(姓名、电子邮件和电话)发布到NodeJS服务器上。这可能吗?
是的,肯定是可以的。解决方案之一:-
你的端点设置应该是这样的。
const formidable = require('formidable');
app.post('/test/your/api', function(req, res) {
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'
});
}
});
你可以在前端使用浏览器的原生FormData类和axios作为http工具。
const endpoint = 'http://localhost:3000/test/your/api';
const form = new FormData();
form.append('name', 'value');
form.append('gender','value');
axios.post(endpoint, form, { headers: form.getHeaders() }).then((res) => {
console.log(res.data);
});