Je reçois des données sur une URL Webhook sous la forme d'une demande POST. Notez que le type de contenu de cette demande est application/x-www-form-urlencoded
.
C'est une requête de serveur à serveur. Et sur mon serveur de nœud, j'ai simplement essayé de lire les données reçues en utilisant req.body.parameters
mais les valeurs résultantes sont "undefined" ?
Alors, comment puis-je lire les données de demande de données? Dois-je analyser les données? Dois-je installer un module npm? Pouvez-vous écrire un extrait de code expliquant le cas?
Si vous utilisez Express.js comme infrastructure d'application Web Node.js, utilisez ExpressJS body-parser .
L'exemple de code sera comme ça.
var bodyParser = require('body-parser');
app.use(bodyParser.json()); // support json encoded bodies
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
// With body-parser configured, now create our route. We can grab POST
// parameters using req.body.variable_name
// POST http://localhost:8080/api/books
// parameters sent with
app.post('/api/books', function(req, res) {
var book_id = req.body.id;
var bookName = req.body.token;
//Send the response back
res.send(book_id + ' ' + bookName);
});
Si vous utilisez restify, ce serait similaire:
var server = restify.createServer()
server.listen(port, () => console.log(`${server.name} listening ${server.url}`))
server.use(restify.plugins.bodyParser()) // can parse Content-type: 'application/x-www-form-urlencoded'
server.post('/your_url', your_handler_func)