Javascript 节点JS将用户输入保存到文本文件中
我有一个本地服务器运行着NodeJS。然后我有几个选择标签,我想在用户选择后,将他们的inout保存到一个文本文件中?有人能帮我解决这个问题吗?此外,当我按下submit时,终端上会出现一个未定义的 节点js代码:Javascript 节点JS将用户输入保存到文本文件中,javascript,html,node.js,Javascript,Html,Node.js,我有一个本地服务器运行着NodeJS。然后我有几个选择标签,我想在用户选择后,将他们的inout保存到一个文本文件中?有人能帮我解决这个问题吗?此外,当我按下submit时,终端上会出现一个未定义的 节点js代码: var express = require('express'); var bodyParser = require('body-parser'); var app = express(); app.use(bodyParser.json()); var port = process
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
var port = process.env.PORT || 8000;
app.use(express.static(__dirname + '/server'));
app.use(express.static(__dirname + '/public'));
app.use('/images', express.static(__dirname +'/images'));
app.get('/', function(req, res){
res.sendfile('main.html');
});
app.listen(port, function(){
console.log('server is running on ' + port);
});
app.post('/submit', function(req, res){
console.log(req.body.rank);
});
HTML:
<form method="POST" action="/submit" > <!--action-page.php-->
<select name="option" size="1" style="width:80px;" required id="rankx">
<option value="" selected disabled hidden>Option</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<br />
<select name="option" size="1" style="width:80px;" required>
<option value="" selected disabled hidden>Rank</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" value="Submit" name="submit" id="submit"/>
问题1
您的表单正在提交application/x-www-form-urlencoded格式的数据,而不是JSON格式的数据
您需要一个能够处理application/x-www-form-urlencoded的主体解析器
看
问题2
您有名为option和submit的输入,但您正在寻找一个名为rank的输入
您必须将输入名称与您要查找的内容相匹配。在node js文件中使用此代码 const bodyParser=需要“body-parser”; app.usebodyParser.json;//用于解析application/json app.usebodyParser.urlencoded{extended:true};//用于解析应用程序/x-www-form-urlencoded\
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());