Javascript 由nodeJS中的值之和生成的NaN
我对Javascript相当陌生。但是我创建了一个HTML代码,它接受输入,然后NodeJS在服务器上运行它来计算总和。我正确下载了这两个模块。但我似乎还是把Nan作为数的和 对于一个朋友来说,代码似乎工作正常。我把他的JS代码复制粘贴到了我的JS代码上,还是没有运气 JSJavascript 由nodeJS中的值之和生成的NaN,javascript,html,node.js,server,nan,Javascript,Html,Node.js,Server,Nan,我对Javascript相当陌生。但是我创建了一个HTML代码,它接受输入,然后NodeJS在服务器上运行它来计算总和。我正确下载了这两个模块。但我似乎还是把Nan作为数的和 对于一个朋友来说,代码似乎工作正常。我把他的JS代码复制粘贴到了我的JS代码上,还是没有运气 JS const express = require("express"); const bodyParser = require("body-parser"); const app = express(); app.use
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
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, num2, total = 0;
num1 = req.body.num1;
num2 = req.body.num2;
total = num1 + num2;
console.log(total);
res.send("The result of the calculation is " + total);
});
app.listen(3000, function() {
console.log("The server is running on port 3000.");
});
HTML
<form 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>
算计
删除名称
属性中的尾随空格,如果您要传递数字,为什么不将类型
设置为数字
其中一个值或两个值都被传递为未定义
,因此会出现NaN
两个错误:
- 你在名字里加了空格
- 你用文字代替数字
<form action="http://localhost:3000/" method="POST">
<input type="number" name="num1" placeholder="First Number" />
<input type="number" name="num2" placeholder="Second Number" />
<button type="submit" name="submit">Calculate</button>
</form>
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
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, num2, total = 0;
num1 = +req.body.num1;
num2 = +req.body.num2;
total = num1 + num2;
console.log(total);
res.send("The result of the calculation is " + total);
});
app.listen(3000, function() {
console.log("The server is running on port 3000.");
});
算计
const express=要求(“express”);
const bodyParser=require(“body parser”);
常量app=express();
use(bodyParser.urlencoded({extended:true}));
应用程序获取(“/”,函数(请求,恢复){
res.sendFile(uu dirname+“/index.html”);
});
应用程序post(“/”,功能(请求,回复){
控制台日志(请求主体);
变量num1,num2,总计=0;
num1=+req.body.num1;
num2=+req.body.num2;
总计=num1+num2;
控制台日志(总计);
res.send(“计算结果为”+总计);
});
app.listen(3000,函数(){
log(“服务器正在端口3000上运行”);
});
从name中删除空格,使用type number,也可以使用parseInt
`<form action="/" method="POST">
<input type="number" name="num1" placeholder="First Number " />
<input type="number" name="num2" placeholder="Second Number " />
<button type="submit " name="submit ">Calculate</button>
</form>
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.get("/", function(req, res) {
res.sendFile(__dirname + "/index.html");
});
app.post("/", function(req, res) {
var num1, num2, total = 0;
consol.log(req.body.num2)
num1 = parseInt(req.body.num1);a
num2 = parseInt(req.body.num2);
total = num1 + num2;
res.send("The result of the calculation is " + total);
});
app.listen(3000, function() {
console.log("The server is running on port 3000.");
});`
`
算计
const express=要求(“express”);
const bodyParser=require(“body parser”);
常量app=express();
use(bodyParser.urlencoded({extended:true}));
应用程序获取(“/”,函数(请求,恢复){
res.sendFile(uu dirname+“/index.html”);
});
应用程序post(“/”,功能(请求,回复){
变量num1,num2,总计=0;
控制台日志(要求正文num2)
num1=parseInt(req.body.num1);a
num2=parseInt(请求主体num2);
总计=num1+num2;
res.send(“计算结果为”+总计);
});
app.listen(3000,函数(){
log(“服务器正在端口3000上运行”);
});`
tryconsole.log(num1、num2、total)
在求和之前查看num1和num2是什么console.log(req.body)代码>说什么?注意-name=“num1”
为什么name属性有尾随空格?