2017-01-22 3 views
0

Ich bin nicht sicher, ob ich ein richtig gebildetes JSON-Array zurückgeben werde, um zu tun, was ich will. Meine Versuche, es zu analysieren, scheitern, also dachte ich, ich würde hier fragen.Node - Middleware req.param verschachtelte JSON Parser Problem

{"email":"[email protected]","teamname":"Team1","team":"[object Object],[object Object],[object Object]"} 

ich nicht JSON.stringify (req.params.team)

undefined 

Für JSON.stringify (req.params.team [0]) Ich bekomme

undefined 
scheinen

Oder manchmal bekomme ich

"[" 

kann ich die Daten in die sehen DOM bevor es zurückgeschickt wurde. Es sieht gut aus. Habe ich einen schlecht geformten Param zurückgeschickt oder gibt es eine Möglichkeit, wie ich diese JSON-Daten zerlegen kann, wie es für die Team-Sachen ist, damit ich sie richtig in meine Datenbank einfügen kann? Jede Hilfe würde sehr geschätzt werden. Wäre ein langes Wochenende, würde diese Beilage wenn möglich machen wollen. Vielen Dank!

****** ****** GELöST

Ich habe meinen Körper Parser zu verwenden und nicht einen Beitrags durch das Senden. Ich habe meinen Fetch auf einen Fetch-Post umgestellt (ich benutze REACT im Frontend). Hier ist, was funktioniert hat. Danke @Avi

Und meine Middleware (vereinfacht) nur so kann ich sehen, was ich bekomme.

app.post('/eventerteam/', function (req, res) { 
console.log("MIDDLE::SUBMIT EVENT TEAM CALLED::email "+ (req.body.email)); 
console.log("MIDDLE::SUBMIT EVENT TEAM CALLED::teamName "+ (req.body.teamName)); 
console.log("MIDDLE::SUBMIT EVENT TEAM CALLED::team "+ JSON.stringify(req.body.team));  
}) 
+0

Was machen Sie genau das zu tun versuchen? Holen Sie ein JSON-Objekt aus der Anfrage oder senden Sie ein JSON-Objekt an die Antwort? – Avi

+0

Ich werde dieses "Team" Zeug analysieren müssen, um eine korrekte Einfügung in meine Datenbank zu machen. Also versuche ich gerade jetzt, darin herumzustochern und zu sehen, wie ich es durchqueren kann, bevor ich meinen DB im Wesentlichen einfüge. – Puerto

+0

Ich bekomme ein JSON-Objekt von der Anfrage. – Puerto

Antwort

1

Angenommen, Sie eine POST-Anforderung senden mit Content-type: application/json Sie sollten body-parser Middleware werden mit dem JSON-Objekt aus der Anforderung zu extrahieren, wie folgt:

var express = require('express'); 
var bodyParser = require('body-parser'); 

var app = express(); 
app.use(bodyParser.json()); 

app.post('/teams', function(req, res){ 
var teamsObject = req.body; 
}); 
+0

ja, Body Parser! Ich habe vergessen. Gib mir eine Minute. Danke für den Zeiger. – Puerto

+0

So dass alles funktioniert. Danke für die Hilfe. Ich werde meine Frage mit der Antwort auch aktualisieren. Sehr geschätzt. – Puerto

+0

Gern geschehen! – Avi