我遇到了NodeJS和Express的问题,好像它应该是“Hello World”简单,但一整天都在困扰我。这是我的NodeJS POST代码:
app.post('/evaluateScore', (req, res) => {
output = calculators
.evaluateScore({
handicap: req.body.handicap,
score: req.body.score,
rating: req.body.rating,
slope: req.body.slope,
holes: req.body.holes
})
console.log(output)
res.mydata = {}
res.mydata.output = output
console.log("res.mydata.output: " + res.mydata.output)
res.end()
})
以下是调用它的客户端代码:
post('/evaluateScore', { handicap, score, rating, slope, holes })
.then(({ mydata }) => {
console.log(mydata)
Evaluator.querySelector('.result').value = mydata.output
})
我的问题是,无论我尝试使用在POST服务器端正确生成的{output}值,我都无法将其成功发送回客户端。我尝试过各种各样的事情:
res.json
res.send
res.data
我发现线程声称每个都以某种方式工作,但客户端似乎唯一可以访问的是'status',我可以使用res.sendStatus(XXX)发送呼叫,或默认为200。
提前致谢
答案 0 :(得分:0)
有任何错误吗? console.log()
行揭示了什么?
这不起作用吗?
app.post('/evaluateScore', (req, res) => {
output = calculators
.evaluateScore({
handicap: req.body.handicap,
score: req.body.score,
rating: req.body.rating,
slope: req.body.slope,
holes: req.body.holes
});
console.log(output);
res.json(output);
});
另外,也许在调用者中可以这样:
post('/evaluateScore', { handicap, score, rating, slope, holes })
.then(mydata => {
console.log(mydata);
Evaluator.querySelector('.result').value = mydata
});