我正在尝试使用express创建一个简单的表单处理程序。我为表单尝试了以下代码:
<form class="form" action="/" method="post" name="regForm"> <div class="form-group"> <input type="text" name="username" class="form-control" id="username" placeholder="Username"> </div> <button type="submit" class="btn btn-default">Submit</button> </form>
这是我的app.js代码:
const port = 3000; var express = require('express'), app = express(), server = require('http').createServer(app); var bodyParser = require('body-parser'); app.use(express.static(__dirname + '/public')); app.use(bodyParser.urlencoded({ extended: true; })); app.use(bodyParser.json()); app.post('/',function(req,res){ var username = req.body.username; var html = 'Hello:' + username; res.send(html); console.log(html); }); server.listen(port);
提交表单后,我不断收到错误消息“ CANNOT POST /”。我是否缺少类似模块的内容?
这样你应该尝试
const port = 3000; var express = require('express'), app = express(); var bodyParser = require('body-parser'); app.use(express.static(__dirname + '/public')); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.get('/', function(req, res){ res.render('form');// if jade // You should use one of line depending on type of frontend you are with res.sendFile(__dirname + '/form.html'); //if html file is root directory res.sendFile("index.html"); //if html file is within public directory }); app.post('/',function(req,res){ var username = req.body.username; var htmlData = 'Hello:' + username; res.send(htmlData); console.log(htmlData); }); app.listen(port);
您将来应该记住的事情参考:
谢谢与欢呼