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