0
votes

La valeur de req.body est indéfinie

J'ai fait la demande postale suivante, mais ce qui est imprimé dans la console est le suivant: Résultat ------------------ non défini.

Comment puis-je obtenir le nom d'entrée imprimé dans la console Au lieu de non défini?

index.html xxx

serveur.js xxx

serveur.js


1 commentaires

Vous n'envoyez jamais les données


3 Réponses :


0
votes

Changez votre code sur le serveur sur les éléments suivants:

var http = require("http");
function onRequest(req,res) {
    res.writeHead(200,{"Content-Type":"text/plain","Access-Control-Allow-Origin":"*"});
    let body = [];
    req.on('error', (err) => {
        console.error(err);
    }).on('data', (chunk) => {
        body.push(chunk);
    }).on('end', () => {
        body = Buffer.concat(body).toString();
        console.log(body);
    });
    res.end();
}
http.createServer(onRequest).listen(8888, function () {
    console.log("listening................");
});


0 commentaires

0
votes

Comme mentionné dans le commentaire, vous ne réussissez jamais les données générées au côté client avec la demande,

Donc, si vous changez cette ligne

xhr.send ();

à

xhr.send (données) ;

Cela fonctionnera


0 commentaires

0
votes

Votre problème:

côté serveur: Le req.body est défini uniquement lorsque vous utilisez le EXPORT Framework . Dans natif nœud.js, req.body n'est pas une propriété du paramètre req ( docs ici ). Vous devez recevoir les données et analyser manuellement.

côté client: Votre manutention de formulaire HTML n'est pas configuré correctement. À partir de votre façon de configurer votre fichier HTML, le script à l'intérieur de la balise