2016-06-15 2 views
0

Я новичок в Nodejs и expressjs. Я пытаюсь создать форму для выражения js-сервера. Вот пример кода.Узел ExpressJS Post Request In Frontend

var author = 'JAck'; 
var post = 'Hello World'; 

var body = JSON.stringify({ 
    'author' : author, 
    'post' : post, 
}); 

var request = new Request('http://localhost:3000/api/post',{ 
    body : 'body=' + body, 
    method: 'post', 
    mode: 'cors' 
}); 

fetch(request).then(function(data){ 
    return data; 
}); 

И у меня есть expressjs и body parser, установленные в задней части. И вот как выглядит мой код backend.

app.post('/api/post', function(req, res){ 
    console.log(req.body); 
}) 

Однако ответ console.log {} (пробел). Что я делаю неправильно, чтобы не получать данные на бэкэнд?

Просьба пояснить. Спасибо

+0

Убедитесь, что вы настройка типа контента в формат JSON –

+3

использования 'телесного parser' –

+1

Экспресса явные промежуточное программное обеспечения для этих видов вещей, [проверить некоторые примеры] (https://scotch.io/tutorials/use-expressjs-to-get-url-and-post-parameters) –

ответ

0

Проблема в том, как вы делаете запрос. Вы должны использовать ту формы вместо тела

var request = new Request('http://localhost:3000/api/post',{ 
    form : 'body=' + body, 
    method: 'post', 
    mode: 'cors' 
});