Server node express : request.body est toujours vide

Résolu/Fermé
Amine448 - Modifié le 20 août 2020 à 12:08
 Amine448 - 20 août 2020 à 19:46
Bonjour.

J'ai un probleme avec mon server node js. J'essaie de recuperer la valeur du body avec "request.body" mais celui-ci retourne toujours un json vide : {}.

Voici mon code

'use strict'

const express = require('express')
const bodyParser = require('body-parser')
const fs = require('fs')

const app = express()

// parse application/json
app.use(bodyParser.json())

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: true }))

const PORT = 8080
const HTTP_OK = 200
const CONTENT_TYPE_JSON = 'application/json'
const CONTENT_TYPE_HTML = 'text/html'

app.post('/add', function (request, response) {
    response.setHeader('Access-Control-Allow-Origin', '*')
    response.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
    response.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS, HEAD')

    const body = JSON.stringify(request.body)
    fs.writeFileSync('resultdata.js', body, {})
    response.writeHead(HTTP_OK, { 'Content-Type': CONTENT_TYPE_JSON })
    response.end(body)
})

app.listen(PORT, function (){
    console.log('Server listening on: http://localhost:%s', PORT)
})



J'ai beau fouille' sur internet, je ne vois pas l'erreur.

Quelqu'un peut m'aider svp ?

Merci d'avance !
A voir également:

1 réponse

Bonjour.
J’ai pu résoudre le problème finalement. Il ne venait pas de mon serveur mais plutôt de mon client. J’avais fait une erreur de syntaxe dans mon fetch. Au lieu de : « headers » j’avais mis « header » sans s. Donc le « Content-type: "application/json" » n’était pas pris en compte

Et dire que ça m’a pris 2 jours pour voir l’erreur ????
0