簡體   English   中英

res.send 不發送任何數據 - Express.js

[英]res.send Not sending any data - Express.js

所以我正在使用 Express.js 開發這個計算器應用程序,當我使用 res.send 方法時,我現在沒有收到任何類型的響應。 我希望我的網頁能夠向我發送calculator.js 文件中的總和。 我也在使用nodemon。 這是 HTML

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Calculator</title>
</head>

<body>
  <h1>Calculator</h1>
  <form method="POST">
    <input name='num1' placeholder='num1' type='text'>
    <input name='num2' placeholder='num2' type='text'>
  <button
    type="submit" name="submit">Calculate</button></form>
  
  <h1 class='answer'></h1>
</body>

</html>

這是calculator.js

const express = require('express');
const app = express();
const port = 3000;
const bodyParser = require("body-parser");
const {
  json,
  urlencoded
} = require('body-parser');
app.use(bodyParser.urlencoded({
  extended: true
}));

app.get("/", function (req, res) {
  res.sendFile(__dirname + "/index.html")
});;

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

  console.log(req.body);
  var num1 = Number(req.body.num1);
  var num2 = Number(req.body.num2);
  var sum = num1 + num2;
  res.send(sum);
});

app.listen(port, () => console.log(`Example app listening on port port!`))

您不能使用res.send()發送number ,它將作為http 狀態碼發送。 您可以簡單地將計算的sum轉換為字符串,然后發送:

res.send(sum.toString())

res.send在最新版本的 Express (4.17.1) 中已被棄用。 使用res.sendStatus解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM