2017-05-10 7 views
0

Guten Morgen, das ist mein server'config:Anfrage Inhaltstyp und emty Anfrage Körper

app.use(cors()); 
app.use(bodyParser.text()); 
app.use(bodyParser.json()); 

// parse application/vnd.api+json as json 
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); 

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

// override with the X-HTTP-Method-Override header in req 
app.use(methodOverride('X-HTTP-Method-Override')); 

, wenn die API im Browser verwendet wird, die Anforderung Inhaltstyp text/plain gesetzt und es gibt 500 Interner Serverfehler. Wenn ich einen

console.log(req.body) 

tun, ist es leer und wenn ich es mit HTTP Anforderer testen und stellen Sie den Inhaltstyp „application/json“ es funktioniert normal. Ich bin verwirrt und hoffe, Sie können helfen.

Antwort

0

Es ist, weil Sie nur configue Körper-Parser zum Parsen von JSON und URL-kodierte Daten haben ... wenn Sie Text lesen wollen/plain haben Sie app.use(bodyParser.text()); hinzufügen, wie es hier gesagt wird: https://www.npmjs.com/package/body-parser#bodyparsertextoptions

+0

Dank für Ihre schnelle Antwort, ich fügte es hinzu, aber immer noch den Fehler – sarra

+0

können Sie Ihre Frage bearbeiten, um das gesamte Skript anzuzeigen, dann bitte (zögern Sie nicht, Triple zu verwenden, um Code-Blöcke schreiben) – mJehanno

+0

die console.log analysiert die Anfrage Körper jetzt es zurückgibt es aber dann zeigt es diesen Fehler kann nicht lesen Eigenschaft 'UDID' von undefined, die in der req.body ist (ich verstehe es nicht, ich meine es liest die req. Körper ist es nicht emty, warum es nicht definiert ist) – sarra

Verwandte Themen