我正在嘗試計算 BMI
它給了我這個錯誤
你的 BMI 是 NaN...我正在使用 nodejs expressjs
這是我的js代碼
const express = require("express");
const app = express();
app.get("/", function(req, res){
res.sendFile(__dirname "/index.html");
});
app.post("/", function(req, res){
var weight = parseInt("req.body.weight");
var height = parseInt("req.body.height");
var bmi = weight / (height * height);
res.send("Your BMI is " bmi);
});
app.listen(3000, function(){
console.log("Server Started at Port 3000");
});
這是我的html代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BMI Calculator</title>
</head>
<body>
<h1>BMI Calculator</h1>
<form action="/" method="post">
<input type="weight" name="weight" placeholder="Please type your weight">;
<input type="height" name="height" placeholder="Please type your height">;
<button type="submit">Calculate</button>
</form>
</body>
</html>
幫助將不勝感激
uj5u.com熱心網友回復:
嘗試像這樣更改您的 post 中間件方法:
app.post("/", function(req, res){
const { weight, height } = req.body;
var bmi = Number(weight) / (Number(height) * Number(height));
res.send("Your BMI is " bmi);
});
uj5u.com熱心網友回復:
“req.body.weight”應該沒有“s。
var weight = parseInt("req.body.weight");
var height = parseInt("req.body.height");
在這里,您從字面上稱為“req.body.weight”的字串中決議了一個 int
因此,您得到 Not a Number 作為輸出
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/417374.html
標籤:
上一篇:ExpressJS/MYSQL/Prisma-保存DB'物體更改
下一篇:無法在“視窗”上執行“獲取”:無法從http://app-name.herokuapp.com:undefined/api/auth/login決議URL
