我正在尝试回复http请求,我收到以下错误:
TypeError: req.json is not a function
这就是我所说的:
app.get('/', function (req, res) {
const channel_name = req.query.channel_name;
const user_name = req.query.user_name;
const text = req.query.text;
var input = text.split(" ");
if (input[0] == "move") { // Make move
game.move(user_name, channel_name, input[1], input[2], function(returnGame) {
req.json(game.getGameStatus(returnGame));
});
}
else {
var boardSize = 3;
if (input.length == 2)
boardSize = input[1];
var newGame = game.startGame(channel_name, user_name, input[0], boardSize);
res.json(game.getGameStatus(newGame));
}
});
app.listen(port);
game.move和game.startGame都返回一个名为Game的JSON。 StartGame创建JSON并返回它,但是移动从数据库加载JSON并使用回调来返回它。 当我从回调中调用req.json时出现错误,但它对StartGame工作正常。
有什么想法吗?我整天都被困在这里,似乎无法弄明白。感谢任何帮助。谢谢。
答案 0 :(得分:3)
在req.json(game.getGameStatus(returnGame));
.json
是为res
定义的,不适用于req
。