如何为nodejs / expressjs诊断/调试500个内部服务器错误?

时间:2019-04-06 14:48:20

标签: javascript html node.js windows http

所以要从HTML表单发布数据以表示js服务器,我会不断收到内部服务器错误500。它没有说明原因,只是打印POST / routeitisreaching 500

如何找出导致问题的原因?它甚至没有命中该路由,因为我在路由代码执行时就安装了console.log,但它没有运行。

这来自我发布的Internal Error 500 at POST request Express JS and Formidable

是否有一个日志文件保存在Windows中的某个位置,我可以在其中查看从表单提交到后端的详细情况?我真的很需要帮助。

2 个答案:

答案 0 :(得分:0)

也许会有所帮助https://expressjs.com/en/guide/debugging.html

您还可以尝试注释代码片段,并检查服务器是否响应。

答案 1 :(得分:0)

好吧,我遇到了同样的问题,终端没有给出任何错误消息。所以我们可以这样做

在 app.js(主文件)的末尾写下以下代码

app.use(function (err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  console.error(err);
  res.status(err.status || 500);
  res.render('error', {
    message: err.message,
    error: err
  });
});

然后在views文件夹下新建一个文件error.ejs。在 /views/error.ejs 中写入

There was some error
<pre>
<%= message; %>
<br>
<br>
<br>
<%= error; %>

您现在应该会看到有关您的错误的更多详细信息。我帮我调试了很多 500 个错误。希望这也能帮助其他人