Javascript 如何获取express服务器返回的错误的消息属性

Javascript 如何获取express服务器返回的错误的消息属性,javascript,reactjs,express,redux,Javascript,Reactjs,Express,Redux,我从express返回一个错误响应,如下所示 router.post("/", authCheck, authCheckAdmin, (req, res, next) => { const burger = new Burger({ _id: mongoose.Types.ObjectId(), ...req.body }); console.log(burger); Burger.find({ n

我从express返回一个错误响应,如下所示

    router.post("/", authCheck, authCheckAdmin, (req, res, next) => {
      const burger = new Burger({
        _id: mongoose.Types.ObjectId(),
        ...req.body
      });

      console.log(burger);

      Burger.find({ name: req.body.name })
        .exec()
        .then(result => {
          if (!result) {
            burger
              .save()
              .then(result => {
                res.status(201).json({
                  message: "Burger Successully Created",
                  burger: result
                });
              })
              .catch(error => {
                res.status(500).json(new Error('Something went wrong when saving the burger')); // <------
              });
          } else {

                 res.status(500).json(new Error('Burger already exist'));
          }
        });
    });
router.post(“/”,authCheck,authCheckAdmin,(req,res,next)=>{
康斯特汉堡=新汉堡({
_id:mongoose.Types.ObjectId(),
…请求正文
});
控制台日志(汉堡);
Burger.find({name:req.body.name})
.exec()
。然后(结果=>{
如果(!结果){
汉堡
.save()
。然后(结果=>{
res.status(201.json)({
信息:“汉堡成功制作”,
汉堡:结果如何
});
})
.catch(错误=>{
res.status(500).json(新错误(“保存汉堡时出错”);/(dispatch,getState)=>{
const currentState=getState();
axios
.post(“/burgers”),burgerData{
标题:{
授权:`Bearer${currentState.auth.token}`
}
})
。然后(响应=>{
控制台日志(响应);
})
.catch(错误=>{
console.error(error.message);服务器端修复

res.status(500).send({ error: 'Something failed!' })

据我所知,
错误
在您的
汉堡的最后一个
else
中没有定义。查找导致此错误的方法。此类错误主要是服务器端错误。希望这对您有用。

您能从网络选项卡显示请求的响应吗?是的,您是正确的。我已修复了它。但这不是问题所在sue.我如何访问前端的错误对象?当我得到error.message时,是500服务器错误。不是我传递的错误。你可以为它编写一个拦截器,它将捕获这些错误并返回你传递的自定义错误消息。有没有办法在不编写拦截器的情况下访问错误?根据我的说法不太可能,因为服务器在这种情况下会崩溃。嗨,对不起。它给出了相同的结果。它给出了“请求失败,状态代码为500”,不是我传递的那个。首先,请尝试将返回的状态从当前的500更改为任何其他-检查您是否从这里看到响应,而不是从任何其他错误。其次,我建议您需要在调试程序下运行服务器,周围几乎没有断点。可能问题不完全在这里,没有任何日志和任何附加信息很难判断所有其他端点都工作正常。只有错误没有正确传递。您是否尝试在两种响应情况下更改500?将它们设置为任何不同的状态(如404和400)只要确保您看到的响应是您自己的,而不是默认的服务器问题响应,那么就更容易找出问题所在
res.status(500).json(new Error('Burger already exiist')); // <------
res.status(500).json(new Error('Burger already exiist')); // <------
res.status(500).json({message: 'Burger already exist'});