2017-02-19 4 views
1

Я создаю веб-приложение, которое использует Node.js/Express для бэкэнд.Доступ к данным AJAX POST с помощью Node.js/Express

В моем переднем конце, я посылаю запрос AJAX к серверу через Javascript, что выглядит это нравится:

var xhttp = new XMLHttpRequest(); 
xhttp.open("POST", "http://localhost:8080", true); 
xhttp.send("sometexthere"); 

Это относится к моему серверу Node.js. До сих пор я был в состоянии ответить на эти запросы совершенно нормально. Однако теперь я хочу получить доступ к «sometexthere» на моем сервере.

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

//some other stuff 

app.post('/', function(req, res) { 
     //How do I access the text sent in xhttp.send() 
} 

Я пробовал использовать req.body и req.query. Однако все эти значения отображаются пустым. Как отправить текст с помощью xhttp.send(), а затем получить его из объекта req в Express?

Спасибо!

ответ

0

Попробуйте установить заголовок на запрос AJAX

xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

тогда вы будете иметь возможность читать в req.body

+0

спасибо! это вместе с другим предложением. – TLF

0

Попробуйте отправить его как этот

xhttp.send("foo=bar&lorem=ipsum"); 
+0

Как обращаться к нему ? req.body? – TLF

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