Alors, ce que j'essaie de faire est de prendre des données d'une forme et de la pousser dans ma liste comme carte. Il dit actuellement
ne peut pas lire la propriété 'URL' de indéfini p> blockQuote>
xxx pré> p>
3 Réponses :
sans voir le code côté client (le formulaire), je ne vois rien de mal avec le code. Essayez d'ajouter pour voir quelles données sont données et ce qui est arrivé à console.log code> à
/ post code>:
ImageData code>. p> p>
Il s'agit d'une erreur sur l'affectation à Newpost code>. Il ne sera jamais atteint de la console
console.log () code> ligne.
Quelle est l'erreur? S'il vous plaît inclure-le dans votre question
C'est au début de la question: "Impossible de lire la propriété" URL "de non définie"
Le seul endroit où il essaie de lire la propriété url code> est dans
req.body.url code>, de sorte que cela implique que
req.body code> est indéfini.
Ohhh, ok désolé pour que nous puissions voir le formulaire HTML?
BTW, ce n'est pas ma question.
En outre, à la première ligne, essayez d'ajouter console.log (req.body) code> pour voir le corps complet.
Nous savons que dire non défini code>. Si vous souhaitez connecter quelque chose, essayez
console.log (req) code>. Cela montrera un objet
résultat code> à la place d'un objet
de demande code>, à cause de la faute de frappe.
Comme mentionné la question n'est pas vraiment claire, mais c'est peut-être ce que vous recherchez bien que je ne voie pas vraiment le cas d'utilisation pour l'utilisation de la carte au lieu d'un objet dans ce cas. Voir ce message sur quand utiliser une carte ici
express = require("express"); app = express(); var bodyParser = require("body-parser"); app.use(express.static("public")); var imagedata = [ {url: "...", description: "..."}, {url: "...", description: "..."} ]; app.use(bodyParser.urlencoded({extended: true})); app.get("/", function(req, res){ res.render("home.ejs", {imagedata: imagedata}); }); app.post("/post", function(req, req){ var NewPost = req.body.url; var Description = req.body.description; let map = new Map() map.set('url', NewPost).set('description', Description) imagedata.push(map); res.redirect("/"); });
Il n'utilise pas de carte. Il utilise simplement le mot "carte" pour signifier "objet".
Changer d'un objet à une carte ne corrigera pas l'erreur qu'il obtient. C'était juste une faute de frappe dans un nom de variable.
C'est dire Changer req.body code> est indéfini car vous avez défini à la fois la demande et la réponse comme
req code> p>
app.post ("/ post", fonction (req, req) code> à
app.post ("/ post", fonction (req, res) code> < / p>
La question devrait simplement être fermée comme une faute de frappe, pas besoin de poster une réponse.
Votre question n'est pas claire
Alors, quel est votre problème?
Voulez-vous dire objet quand vous dites une carte?
Désolé, ce que j'essaie de faire est de repousser la variable de nouvelle-poste et une description de la variable dans la liste de données d'image en tant que carte. Ce serait donc comme ce qui est actuellement dans la liste de données d'image.
Il indique actuellement l'URL non définie
Il ne dis pas
URL code> est indéfini, il est indiqué
req.body code> est indéfini.
Vous avez un typo:
(req, req) code> devrait être
(req, res) code>
Vous avez raison, mon erreur était la faute de frappe. Merci pour l'aide!