res.send Не отправлять данные - Express. js - PullRequest
0 голосов
/ 01 августа 2020

Итак, я работаю над этим калькулятором, используя Express. js, и когда я использую метод res.send, я не получаю никакого ответа сейчас. Я ожидаю, что моя веб-страница пришлет мне сумму, как в файле калькулятора. 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>

Это калькулятор. 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!`))

Ответы [ 2 ]

1 голос
/ 01 августа 2020

вы не можете использовать res.send() для отправки number, он будет отправлен как код статуса http . Вы можете просто преобразовать вычисленное sum в строку, а затем отправить его:

res.send(sum.toString())
0 голосов
/ 01 августа 2020

res.send устарело в последней версии Express (4.17.1). Использование res.sendStatus вместо этого решило мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...