node.js - express - typeerror:res.json不是函数

时间:2016-07-11 06:59:22

标签: node.js http express

我正在尝试回复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工作正常。

有什么想法吗?我整天都被困在这里,似乎无法弄明白。感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:3)

req.json(game.getGameStatus(returnGame));

处检测到的键入错误

.json是为res定义的,不适用于req