[英]Node.js - submitting form not console the form values
我是node.js的初學者。 我正在嘗試使用表單添加“名稱”和“部門”。 一旦我單擊提交,我會同時安慰“姓名”和“部門”,但我都“都”是“未定義”。
我不知道我在哪里。 有人找出來並幫助我管理姓名和部門嗎?
這是我的表格:
<form method="post" role="form" class="form-horizontal" enctype='multipart/form-data'>
<div class="form-group">
<label for="name"><input id='name' name='name' placeholder='Enter your name' type="text" ></label>
<label for="dept"><input id='dept' name='dept' placeholder='Enter your department here' type="text"></label>
<button type='submit' class="btn btn-default" id='submit'>Submit your Details</button>
<div>
</form>
這是我的app.js
var
http = require('http'),
express = require('express'),
routes = require('./routes'),
userList = require('./routes/list'),
path = require('path'),
app = express();
app.set('port', process.env.PROT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(app.router);
app.use(express.static(path.join(__dirname, 'static')));
app.get('/', routes.list);
app.get('/addList', userList.addList);
app.post('/addList', function(req, res){
var name = req.params.name;
var dept = req.params.dept;
console.log(name, dept);//getting undefined why?
});
http.createServer(app).listen(app.get('port'), function(){
console.log('successfuly initiated!');
});
更新了表格和app.js
形成:
<form method="post" role="form" class="form-horizontal" action="/addList">
<div class="form-group">
<label for="name"><input id='name' name='name' placeholder='Enter your name' type="text" ></label>
<label for="dept"><input id='dept' name='dept' placeholder='Enter your department here' type="text"></label>
<p><input type='submit' class="btn btn-default" id='submit' value='Submit your Details'/></p>
<div>
app.js
var
http = require('http'),
express = require('express'),
routes = require('./routes'),
userList = require('./routes/list'),
path = require('path'),
app = express();
app.set('port', process.env.PROT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(app.router);
app.use(express.static(path.join(__dirname, 'static')));
app.use(express.bodyParser()); //newly added
app.use(express.urlencoded()); //newly added
app.get('/', routes.list);
app.get('/addList', userList.addList);
app.post('/addList', function(req, res){
var name = req.body.name;
var dept = req.body.dept;
console.log(name, dept);
});
http.createServer(app).listen(app.get('port'), function(){
console.log('successfuly initiated!');
});
您的表單缺少action="/addList"
屬性
而且由於您使用POST
方法進行發布,因此您的值將顯示在正文上
var name = req.body.name;
var dept = req.body.dept;
為了使值出現在主體中,請添加此中間件
app.use(express.bodyParser());
app.use(express.urlencoded());
app.use(app.router)
應該是您最后調用的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.