【发布时间】:2018-01-28 13:16:57
【问题描述】:
我正在尝试制作一个基于讨论的 Node.js/Express-app,并且我正在页面上创建一个讨论。我只是在测试我的讨论控制器文件是否已链接,但每次我单击按钮发布我的表单时,它什么都不做。
我的哈巴狗(视图),名为“createDisc.pug”
extends layout
block content
h1 Create new discussion
form(action='', method='post')
div
label(for='title') Title
input#title
div
label(for='desc') Description
input#desc
div
input(type='submit', value='Create')
我的路由器,名为“createDisc.js”
var express = require('express');
var router = express.Router();
var disc = require('../controllers/disc');
router.get('/discussion/create', function (req, res, next) {
res.render('createDisc');
});
router.post('/discussion/create', disc.createDisc);
module.exports = router;
我的控制器名为“disc.js”,我只是想将“测试”发送到我的控制台
exports.createDisc = function (req, res, next) {
console.log('test');
};
我的 app.js 文件
const express = require('express');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const passport = require('passport');
const path = require('path');
const cookieParser = require('cookie-parser');
const session = require('express-session');
const app = express();
const db = require('./controllers/db');
require('./config/passport')(passport);
mongoose.connect(db.url);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.use(bodyParser.json());
app.use(express.static(path.join(__dirname, 'public')));
app.use(bodyParser.urlencoded({extended: true}));
app.use(cookieParser());
app.use('/', require('./routes/createDisc'));
app.listen(3000, function() {
console.log('Example listening on port 3000!')
})
【问题讨论】:
-
你在哪里使用
.post()钩子? -
我改了,router.route现在说,router.post,我原本打算做的@Baruch
标签: javascript node.js express mongoose pug