javascript - 当我运行我的 node.js 代码时,我没有得到我想要的输出这里有什么错误?
问题描述
所以我一直在这个 bmiCalculator 中输入 2 个数字,这 2 个数字在我的服务器中计算并显示答案,但我在接收输出时遇到了麻烦。当我点击提交时,我得到了我所有的列表c 的索引中的文件,但不是答案。有人可以帮我吗?
我的 HTML 代码
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>BMI calculator</h1>
<form action="/" method="post">
<input type="text" name="num1">
<input type="text" name="num2">
<input type="button" value="submit">
</form>
</body>
</html>
我的js代码
let express = require("express")
let bodyParser = require("body-parser")
let app = express()
app.use(bodyParser.urlencoded({extended: true}))
app.listen(3000,function(){
console.log("working")
})
app.get('/',function(request,respond){
respond.sendFile(__dirname+"/bmiCalculator.html")
})
app.post('/',function(req,res){
let num1 = Number(req.body.num1)
let num2 = Number(req.body.num2)
let result = num1/num2*num2
res.send(result)
})
解决方案
- 根据 Express res.send([body])文档:
body 参数可以是 Buffer 对象、String、对象或 Array
您不能单独发送号码。所以你可以使用发送一个字符串result.toString()
- 您应该使用
<input type="submit" value="submit">
提交表单。
例如
server.js
:
let express = require('express');
let bodyParser = require('body-parser');
let app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.listen(3000, function() {
console.log('working');
});
app.get('/', function(request, respond) {
respond.sendFile(__dirname + '/bmiCalculator.html');
});
app.post('/', function(req, res) {
console.log(req.body);
let num1 = Number(req.body.num1);
let num2 = Number(req.body.num2);
let result = (num1 / num2) * num2;
res.send(result.toString());
});
bmiCalculator.html
:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>BMI calculator</h1>
<form action="/" method="post">
<input type="text" name="num1">
<input type="text" name="num2">
<input type="submit" value="submit">
</form>
</body>
</html>
在客户端提交表单后的服务器日志:
working
{ num1: '1', num2: '2' }
推荐阅读
- dart - 我应该如何在 Dart 中使用断言?
- javascript - 如何在Javascript中打印不受信任的html blob
- graph-visualization - 如何绘制在 redisgraph 中创建的图形?
- c# - 如何创建一个 3d 立方体并将其放置在另一个对象的中心?
- python - 为什么在 for 循环中为 zip 分配值时这不起作用?
- c# - EF Core 3,优化很多 Include/ThenInclude
- java - 如何隐藏底部导航栏?
- r - 使用 R 将数据解析器转换为 df
- google-cloud-firestore - Firestore Query where 字段可能嵌套在多个级别
- javascript - 如何从下拉列表中删除团队以进行下一轮下拉?