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? p>
index.html p> serveur.js p> serveur.js p> p>
3 Réponses :
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................");
});
Comme mentionné dans le commentaire, vous ne réussissez jamais les données générées au côté client avec la demande, p>
Donc, si vous changez cette ligne p>
à p>
Cela fonctionnera p> xhr.send (); code> p>
xhr.send (données) code>; p>
côté serveur: strong> Le côté client: strong> 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 req.body code> est défini uniquement lorsque vous utilisez le EXPORT Framework . Dans natif nœud.js, req.body code> n'est pas une propriété du paramètre req code> ( docs ici ). Vous devez recevoir les données et analyser manuellement. P>
Vous n'envoyez jamais les données
code>