2017-08-22 1 views
-1

Comme par https://developer.mozilla.org/en-US/docs/Web/API/Request/Request le type de corps peut être du type:Comment trouver le type de contenu dans req.body?

  1. ArrayBuffer

  2. Blob

  3. formData

  4. JSON

  5. texte

Y a-t-il un moyen pour le côté récepteur de savoir de quel type il s'agit? La raison pour laquelle je demande est parce que je reçois un message POST d'un tiers où le req.body est vide.

// my code 
console.info("Headers: ", req.headers); // shows headers 
console.log("Data: ", req.body); // shows nothing 

Cependant, après une inspection plus poussée, il semble que je dois traiter les données comme suit (depuis son utilisant ReadableStream):

// code from a 3rd party library 
    req.on('data', function (chunk) { 
     data += chunk; 
    }); 

    req.on('end', function() { 
     var messageData = JSON.parse(data); 
     console.log("Data: ", messageData); //shows data 
    } 
+1

Le code que vous avez fourni ne semble pas être lié à l'API fetch (qui est la documentation à laquelle vous avez lié). – Quentin

+1

Utilisez 'res.headers ['content-type]'' pour rechercher le type de contenu du corps. – alexmac

+0

@Quentin - Je l'explore, au fur et à mesure que j'expérimente. – amehta

Répondre

0

Vous pourrait faire vous-même, mais la plupart des gens utilisent express et la bibliothèque Body Parser pour éviter d'avoir des charges de code standard pour faire l'analyse pour eux.

+0

J'utiliserai éventuellement une librairie comme express ou body. J'ai été confus au sujet de req.body ne imprimant rien, mais après avoir lu le lien que vous avez joint pour Body Parser je comprends mieux. Merci! – amehta