2016-01-25 2 views
1

я иметь такую ​​форму:Как создать объект json из данных POST в Express.js?

form(method="POST", action="/contato") 
     .row 
      .col-sm-4.form-group 
       label NOME 
       input(type="text",name="contato[nome]").form-control 
      .col-sm-4.form-group 
       label TELEFONE 
       input(type="text",name="contato[telefone]").form-control 
     .row 
      .col-sm-4.form-group.btn-group 
       input(type="submit", value="Salvar").btn.btn-success 
       a(href="/contato").btn.btn-primary Voltar 

но в моем маршруте:

router.post('/contato', (req, res) => { 
    console.log('body', req.body); 
}); 

выход:

тело { 'contato [нома]': 'Рафаэль', «contato [ telefone] ':' 0000 '}

но я хочу:

body { contato : { nome : 'Rafael', telefone : '0000' }} 

как это сделать?

ответ

1

Добавление bodyParser промежуточного слоя может помочь:

var bodyParser = require('body-parser'); 
.... 
.... 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 

Убедитесь, что вы оба!

Я получаю это тело запроса:

body { contato: { nome: 'oleg', telefone: '123456' } }