2017-01-22 5 views
0

Im не уверен, что Im передаёт правильно сформированный массив JSON, чтобы делать то, что я хочу. Мои попытки разобрать это провалились, поэтому я подумал, что попрошу здесь.Узел - промежуточное задание req.param вложенное json parse issue

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

Я не могу JSON.stringify (req.params.team)

undefined 

Для JSON.stringify (req.params.team [0]) Я получаю

undefined 

Или иногда я получаю

"[" 

я могу видеть данные в DOM перед отправкой назад. Выглядит хорошо. Я отправил обратно плохо сформированный параметр или есть какой-то способ, которым я могу разбить данные JSON, как и для команды, чтобы я мог правильно вставить в мою базу данных? Любая помощь будет принята с благодарностью. Был долгий уик-энд, хотел бы, чтобы эта вставка была сделана, если это возможно. Благодаря!

****** ****** решаемые

Я забыл использовать мое тело парсер и не отправлял почту через. Я переключил свой выбор, чтобы получить сообщение о получении (im использует REACT в интерфейсе). Вот что сработало. Спасибо @Avi

 fetch(`/team/`,{ 
    method: 'POST', 
    headers: { 
    'Accept': 'application/json', 
    'Content-Type': 'application/json', 
    }, 
    body: JSON.stringify({ 
    email: this.context.user.email, 
    teamName: this.state.value, 
    team: this.state.selected, 
    }) 
}) 

И мое промежуточное программное обеспечение (упрощенное), чтобы я мог видеть, что я получаю.

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

Что вы точно пытаетесь сделать? Получить объект JSON из запроса или отправить объект JSON в ответ? – Avi

+0

Мне нужно будет разобрать эту «команду», чтобы сделать правильную вставку в моей базе данных. Поэтому прямо сейчас, просто пытаясь сориться в нем, посмотрите, как я могу пересечь его, прежде чем я добавлю свою вставку в БД. – Puerto

+0

Im получает объект JSON от запроса. – Puerto

ответ

1

Предполагая, что вы посылаете запрос POST с Content-type: application/json вы должны использовать body-parser промежуточное программное обеспечение для извлечения объекта JSON из запроса следующим образом:

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

есть, органайзер! Я забыл. Дай мне минуту. Спасибо за указатель. – Puerto

+0

Так что все работает. Спасибо за помощь. Я также обновлю свой вопрос с ответом. Очень признателен. – Puerto

+0

Добро пожаловать! – Avi

 Смежные вопросы

  • Нет связанных вопросов^_^