2
votes

Obtenir la valeur de l'option sélectionnée dans node.js avec l'utilisation d'express

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.


1 commentaires

Salut, quel est le résultat de la sélection d'une autre option (avec la valeur 2 par exemple)?


3 Réponses :


3
votes

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);
});


0 commentaires

0
votes

essaye ça

app.use(express.bodyParser());

au lieu de

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: false}));


1 commentaires

Vous devez expliquer ce que fait le code, sinon ce n'est pas une bonne réponse.



0
votes

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


0 commentaires