我试图读取发送到node.js服务器的数据。
客户方:
const sendToDB =(date)=> {
var xhttp = new XMLHttpRequest();
var d = JSON.stringify(date);
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(d);
}
};
xhttp.open("POST", "api/info", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(d);
}
和服务器:
var http = require('http');
var server = http.createServer(function(req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
req.on('data', function (chunk) {
console.log(req.body.date);
});
res.end();
});
server.listen(3001);
如何在节点js服务器中接收与xhttp.send(d)一起发送的数据?
答案 0 :(得分:1)
var server = http.createServer(function(req, res) {
if(req.method == "POST"){
var clientData = '';
req.on('data', function (chunk) {
clientData+=chunk;
});
req.on('end',function(){
console.log(JSON.parse(clientData));
})
}
res.end();
});
答案 1 :(得分:0)
在发送一些json数据时应使用标题"Content-Type", "application/json"
。
确保你发送这样一个对象:
{
date: {
foo: bar
}
}
正如您的服务器期望它在正文req.body.date