无法在我的 express.js 服务器中使用 Number() 函数 - RangeError

Can't use the Number() function in my express.js server - RangeError

我有以下 HTML 表格:

<form class="" action="/" method="post">
      <input type="text" name="num1" placeholder="First Number">
      <input type="text" name="num2" placeholder="Second Number">
      <button type="submit" name="submit">Calculate</button>
    </form>

我想做的是得到输入的两个数字和post它们的总和。 在我的 express.js 服务器中,我包含了 body-parser 包,当我编写以下路由时:

  app.post("/", function(req,res) {

  var num1 = Number(req.body.num1);
  var num2 = Number(req.body.num2);

  res.send(num1+num2);

})

按下提交按钮后,出现以下错误:

RangeError [ERR_HTTP_INVALID_STATUS_CODE]:无效状态代码:5

我也试过使用 parseInt() 函数,但它显示了同样的错误。

这个错误是什么意思?我该如何解决?

尝试将 return 值转换为字符串。

res.send(String(num1 + num2));

根据文档 http://expressjs.com/en/api.html#res.send res.send 需要 Buffer 对象、字符串、对象、布尔值或数组

假设您已 body-parser 配置,您可以使用

res.send([num1 + num2])得到结果