Obtenir req.param undefined
Je suis avec Expressjs la version 4.Je suis arriver 'undefined' sur la req.param. Voici mon exemple :
app.js
var express = require('express');
var bodyParser = require('body-parser');
var newdata = require('./routes/new');
........................
......................
app.use(bodyParser());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use('/new', newdata);
./les voies/nouvelle
var express = require('express');
var router = express.Router();
router.get('/', function(req, res){
res.render('newdata', {
title: 'Add new data'
})
});
router.post('/', function(req, res){
console.log(req.param['email']);
res.end();
});
module.exports = router;
newdata.html
<form action="/new" role="form" method="POST">
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control" name="email" placeholder="Enter email">
J'ai aussi essayé avec req.body
et req.params
, mais la réponse est toujours la même.
Avez-vous vérifié que votre formulaire est envoyé comme
vous avez post pas obtenir..c'est pourquoi.
application/x-www-form-urlencoded
et pas multipart/form-data
en quelque sorte?vous avez post pas obtenir..c'est pourquoi.
OriginalL'auteur pyprism | 2014-05-08
Vous devez vous connecter pour publier un commentaire.
req.params
Référence aux variables dans votre route.Publier des données peuvent être référencées par des
req.body
Cela suppose que vous êtes à l'aide de la
bodyParser
middleware.Et puis il y a
req.query
, pour ceux?query=strings
.Vous pouvez utiliser
req.param()
pour l'une des 3 ci-dessus. La commande estparams
,body
,query
.req.param()
la fonction déjà de vérifierreq.params
(les "variables dans votre itinéraire de chemin d'accès"),req.body
, etreq.query
.Bonjour , Supposons que "/mobile/custom/******/deviceVersion/:deviceType" est ma demande . pourriez-vous me dire comment vérifier "deviceType" contre indéfinis?
Pourquoi
req.param()
est vide pour moi (à l'aide d'une chaîne de requête)?Cette réponse, c'est super génial ! La mission a travaillé pour moi avec req.corps.fieldName
OriginalL'auteur nowk
param est une fonction, pas un objet. Si vous avez besoin d'utiliser
req.param('email');
Qui ne fait aucune différence.
Je ne suis pas sûr de savoir pourquoi il y a les commentaires négatifs comme cela a résolu mon problème à la perfection. J'ai été à la suite de certains vieux (ou tout simplement faux?) exemples utilisés param comme un objet, mais ce qui m'a guidé vers le droit chemin.
OriginalL'auteur mscdex