J'ai besoin d'obtenir l'objet sélectionné en utilisant express pour le consoler dans app.js
example.html
var express = require('express'), app = express(); app.use(express.bodyParser()); app.get('/', function(req, res){ res.sendfile('views/index.html'); }); app.get('/getJson', function (req, res) { console.log(req.body.example); }); app.listen(3000, function(){ console.log('Server running at port 3000: http://127.0.0.1:3000') });
App.js
<form id="tableForm" action="getJson"> <select class="example" name="example"> <option name="" value="0" selected>Select table</option> <option name="table1" value="1">Table 1</option> <option name="table2" value="2">Table 2</option> <option name="table3" value="3">Table 3</option> </select> </form>
La sortie de la console n'est pas définie même si je sélectionne un autre objet.
3 Réponses :
Vous devez ajouter un gestionnaire pour la méthode de post
lors de la soumission du formulaire.
app.js
<form method="post" id="tableForm" action="getJson"> <select class="example" name="example"> <option name="" value="0" selected>Select table</option> <option name="table1" value="1">Table 1</option> <option name="table2" value="2">Table 2</option> <option name="table3" value="3">Table 3</option> </select> </form>
example.html
app.post('/getJson', function (req, res) { console.log(req.body.example); });
essaye ça
app.use(express.bodyParser());
au lieu de
var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({extended: false}));
Vous devez expliquer ce que fait le code, sinon ce n'est pas une bonne réponse.
Voici les erreurs dans votre code
1) Dans un fichier HTML, votre formulaire doit avoir une méthode de publication
<form method="post" id="tableForm" action="getJson">
(2) Cette méthode de publication doit être gérée dans App.js. La valeur d'entrée donnée par l'utilisateur peut être collectée par la méthode req.body.example
Salut, quel est le résultat de la sélection d'une autre option (avec la valeur 2 par exemple)?