Maison >interface Web >js tutoriel >Comment accéder au corps complet de la requête dans les requêtes Node.js et Express POST ?

Comment accéder au corps complet de la requête dans les requêtes Node.js et Express POST ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-27 11:27:01221parcourir

How to Access the Full Request Body in Node.js and Express POST Requests?

Accès au corps complet de la requête dans Node.js et requêtes POST express

Cet article aborde le problème de l'accès au corps complet de la requête lors de la création Requêtes POST utilisant Node.js et le framework Express.

Express et bodyParser

Le code initial fourni utilise Express.js et le middleware express.bodyParser() pour analyser le corps de la requête. Cependant, la tentative d'accès à l'intégralité du corps de la requête à l'aide de request.body a entraîné une erreur.

Express v4.16 et au-delà

À partir d'Express v4.16, le Le middleware express.bodyParser() n’est plus requis. Au lieu de cela, les développeurs peuvent directement utiliser le middleware JSON intégré, express.json().

En ajoutant app.use(express.json()) au code, le corps de la requête sera automatiquement analysé et accessible. comme req.body dans le gestionnaire de requêtes. N'oubliez pas de définir l'en-tête Content-Type approprié dans la requête client, tel que Content-Type : application/json.

Corps de la requête brute

Pour accéder à la requête brute body sans utiliser le middleware Express, les développeurs peuvent utiliser les méthodes req.get('content-type') et req.rawBody de Node.js.

Par exemple :

app.post('/', function(req, res) {
  if (req.get('content-type') === 'application/json') {
    // Get the raw JSON body
    req.rawBody = '';
    req.on('data', (chunk) => { req.rawBody += chunk; });
    req.on('end', () => {
      // Do something with req.rawBody
    });
  }
});

De cette façon, le corps brut de la requête est directement accessible et manipulable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn