Aucun corps dans la requête POST

Je travaille sur un projet de notifications web-push. Je souhaite envoyer des abonnements d’utilisateurs de mon client à un serveur de noeud.

Code côté client

function sendSubscriptionToBackEnd(subscription) { return fetch('/api/save-subscription/', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.ssortingngify(subscription) }); } 

Code côté serveur

 app.post('/api/save-subscription/', function (req, res) { console.log(req.body); } 

L’object d’abonnement est un abonnement standard avec “endpoint” et “keys”. J’ai déjà essayé d’imprimer l’abonnement côté client avant de l’envoyer et cela semble être valide.

Le problème est que l’object “req” côté serveur ne contient aucune clé “body”. Donc, je ne sais pas comment saisir l’abonnement côté serveur.

Vous pourriez avoir besoin du middleware d’ body-parser si vous ne l’avez pas déjà.

C’est ce qui parsing le corps des requêtes http et vous donne un bel object analysé.

Dans votre code côté serveur:

 const bodyParser = require('body-parser'); const express = require('express'); const app = express(); app.use(bodyParser.json()); // <-- this guy! app.post('/api/save-subscription', (req, res) => { console.log(req.body); return res.sendStatus(201); });