节点.JS req.body 字符串太长

Node.JS req.body String Too Long?

本文关键字:字符串 body JS req 节点      更新时间:2023-09-26

我再次问了一个可能是初学者的问题,但我环顾四周,无法找到我需要的答案。我已经创建了一个 Node.JS 服务器,为我正在处理的游戏状态集成项目提取数据,我需要从游戏中请求某些数据。

基本上,代码中发生的事情是我将变量newKillStatus设置为我正在读取的player_state文件的某个部分。在我进一步讨论之前,这是我使用的代码:(如果您需要更多,请询问(

fs.readFile('player_state', 'utf8', function(err, killStatus) {
    var player = 'player' in req.body ? req.body.player : null;
    if (player && player.state !== killStatus) {
        var newKillStatus = req.body.player.state.round_kills;
        if (!newKillStatus) {
            newKillStatus = '';
        }
        fs.writeFile('player_state', newKillStatus);
        console.log(newKillStatus);
    }
});

因此,如您所见,我正在尝试将newKillStatus设置为req.body.state.round_kills;据我所知,这太长了,因为当我尝试启动服务器时,它会给我此错误:

无法读取未定义的属性"round_kills">

但是如果我去掉round_kills部分,它会给我round_kills,但它也给了我一大堆我不想设置变量的其他统计数据。

所以基本上我唯一的问题是如何将var newKillStatus设置为req.body.player.state.round_kills而不会出错。

谢谢你的帮助!

编辑:我已经尝试了所有解决方案和字符串的多种组合,下划线是否有可能产生错误?

经过几次尝试自己找到答案,我找到了答案。我真的很惊讶我花了这么长时间才发现这一点。可能实际上高于我所引起的,以及错误所说的导致它的原因。问题实际上出在我需要更改req.body.player var player = 'player' in req.body ? req.body.player : null;req.body.player.state下面的代码知道我引用的内容。