如何解决此错误:无法读取未定义的属性“ 0”

时间:2019-11-04 10:09:33

标签: node.js express

当我从服务器获取响应并检查api参数库lib @ hapi / Joi时,当我检查api参数抛出代码时,它们向我显示错误:无法读取未定义的属性“ 0”?

这是一个使用express.js库的node.js服务器 当我评论此代码并检查邮递员中的api时,我的代码已完全运行!

//validate api params
            const {error} = apiParamsSchema.schema({adminUsername,adminPassword});
             // console.log(adminPassword);
                if(error){
                    return res.status(400).json({
                        success: false,
                        message: error.details[0].message
                    });
                }

我对这段代码的期望是10/10,因为同一代码在另一台服务器上运行,但它们没有向我显示错误,因此所有代码都很好并且可以在另一台服务器上正常运行

2 个答案:

答案 0 :(得分:0)

我认为您的错误对象不包含details键。因此,您可以替换如下代码:-

STRIPBYTECOUNTS

如果您不想指定硬编码的错误消息,则只需返回错误即可。

答案 1 :(得分:0)

是的,您可能没有error.details[0]。除此以外的另一种选择是,只需将代码编辑为

return res.status(400).json({
                        success: false,
                        message: error
                    });

这样,您将看到整个错误对象,并可以缩减消息键:根据实际服务器响应,将值对更改为message: error.detailsmessage: error.details.message之类的内容