J'ai essayé d'envoyer des données de formulaire à mon serveur de noeud mais req.body
n'a aucun de mes champs de formulaire du côté du noeud
var express = require('express')
var app = express()
var path = require('path')
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({
extended: true
}));
app.get('/', function (req, res) {
res.sendFile('index.html')
})
app.post('/sendmail', function (req, res) {
const formData = req.body.formData
c'est ce que j'envoie depuis le navigateur
fetch('/send', {
method: 'POST',
body: new FormData(form)
})
dans les outils de développement, je ne vois que les données transmises dans le Referer, c'est peut-être mon problème
Référent: http: // localhost: 3000 /? Name = & budget =% C2% A310
body-parser
ne gère pas les corps en plusieurs parties, ce qui correspond à ce que FormData
est soumis.
Au lieu de cela, utilisez un module comme multer
.
Par exemple, pour récupérer les champs (normaux) d'une demande:
const multer = require('multer');
const upload = multer();
app.post('/send', upload.none(), (req, res) => {
const formData = req.body;
console.log('form data', formData);
res.sendStatus(200);
});