以下情景: 我有两个服务器,一个服务器一个网站,另一个管理数据库。网站向其服务器发送请求,请求被传递到后端服务器,并且应该返回数据库中的数据集。
我在两台服务器上都使用Express,服务该网站的服务器也有Request包。
第一台服务器上的代码:
request.post({
headers: {'content-type' : 'application/x-www-form-urlencoded'},
url: 'http://localhost:8081/getDataset',
body: "data="+data
},
function(error, response, body){
if (!error && response.statusCode == 200) {
console.log(body)
res.send(body)
}
}
)
第二台服务器上的代码:
getFromEigenschaft (req, res) {
var data = req.body.data
console.log(req.body) //logs {}
//do database stuff with data
return res.status(200).send(dataSet)
}
在第二台服务器上,req.body是一个空对象。我做错了什么?
答案 0 :(得分:0)
找到答案: 正如我想的那样,可以将body对象设置为JSON,但JSON选项必须设置为true:
request.post({
headers: {'content-type' : 'application/x-www-form-urlencoded'},
url: 'http://localhost:8081/getDataset',
json: true,
body: data
},
function(error, response, body){
if (!error && response.statusCode == 200) {
console.log(body)
res.send(body)
}
}
)