Server node express : request.body est toujours vide
Résolu
Amine448
-
Amine448 -
Amine448 -
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
J'ai beau fouille' sur internet, je ne vois pas l'erreur.
Quelqu'un peut m'aider svp ?
Merci d'avance !
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 !
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 ????