2017-02-19 69 views
1

我正在构建一个使用Node.js/Express作为后端的Web应用程序。使用Node.js/Express访问AJAX POST数据

在我的前端,我送通过JavaScript的AJAX请求到服务器,看起来像这的:

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()发送文本,然后从Express中的req对象获取它?

谢谢!

回答

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