2017-07-30 1 views
2

De mon côté client, je fais un chargement avec des données comme celle-ci vers un webhook sur mon serveur Firebase node.js. Je suis juste en train d'essayer d'attraper les données pour l'instant comme ça.Request.body est un objet vide

exports.addUserdata = functions.https.onRequest((req, res) => { 
    console.log(req.body); 
    res.send(200); 
}); 

Malheureusement, mon site de demande est un objet vide. Qu'est-ce que je suis manquant ou mal faire?

Répondre

1

passe JSON, FormData, objet Blob ou chaîne à body. Request.body n'attend pas d'objet JavaScript.

body: JSON.stringify(data) 
+0

Voilà, merci! – Thore

+1

@Thore Voir ['Request()'] (https://developer.mozilla.org/en-US/docs/Web/API/Request/Request) at _ "Note: Le type de corps ne peut être qu'un' Blob ',' BufferSource', 'FormData',' URLSearchParams', 'USVString' ou' ReadableStream' type, donc pour ajouter un objet 'JSON' à la charge utile vous devez stringifier cet objet." _, Voir aussi [Fetch avec ReadableStream ] (https://stackoverflow.com/q/40939857/) – guest271314

0

Sur POST demandes vous devez attendre un peu pour obtenir des données dans request.body

var body = ''; 
    req.on('data',function(data) { body += data; }); 
    req.on('end', function(data) { 
     req.body = JSON.parse(body); 
    }); 
+0

Obtient toujours un objet vide – Thore