我正在尝试使用和Express路径访问一些已发布的表单数据。发布表单后,数据应由express.Router()
路由处理。但是,当我发布时,我的身体包含{}
。我的代码如下:
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
res.render('../views/index.jade');
});
router.post('/', function(req, res) {
res.send(req.body);
});
module.exports = router;
form(id="task_form" action="/tasks" method="POST")
input(type="text" id="name" placeholder="Enter Task name Here" name="task[task]" required)
input(type="submit")
div(class="tasks")
- if(tasks != undefined)
p #{tasks.task}
- else
p No tasks found
var express = require('express');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var router = require('./include/router');
var database = require('./include/database');
var app = module.exports = express();
app.use(express.static(__dirname + '/public/js'));
app.use(express.static(__dirname + '/public/styles'));
app.use(express.static(__dirname + '/public/img'));
app.use(bodyParser.json());
app.use('/tasks', router);
app.get('*', function(req, res) {
res.send('404 not found', 404);
});
app.listen(80);
为什么我的身体是空的?我是否需要更改bodyParser
?
答案 0 :(得分:0)
我认为你错过了端点,因为你正在使用
action="/tasks" method="POST"
,您的终端
router.post('/', function(req, res) {
res.send(req.body);
});
应该是
router.post('**/tasks**', function(req, res) {
res.send(req.body);
});
你看到了差异吗?
我认为这就是问题!
玩得开心!