【发布时间】:2020-09-28 18:58:42
【问题描述】:
我的应用程序是一个简单的博客,它显示博客标题、条目、日期以及尚未完成的编辑/删除页面的架构。编辑/删除将针对已选择的帖子,它会将您带到 .../blogList/blogEdit/_id 页面。当我点击博客文章上的编辑/删除按钮时,它给了我一个 404 错误。
app.js
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var morgan = require('morgan');
var debug = require('debug')('app');
require('./app_server/models/db');
const todoRouter = require('./app_server/routes/index');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'app_server', 'views'));
app.set('view engine', 'jade');
...
app.get('/', todoRouter);
app.get('/blogAdd', todoRouter);
app.get('/blogList', todoRouter);
index.js
var express = require('express');
var router = express.Router();
var ctrlHome = require('../controllers/home');
var ctrlBlogA = require('../controllers/blog');
var ctrlBlogL = require('../controllers/blogL');
router.get('/', ctrlHome.bHome);
router.get('/blogAdd', ctrlBlogA.bAdd);
router.get('/blogList', ctrlBlogL.bList);
router.get('/blogList/blogEdit/:id', ctrlBlogL.eList);
router.get('/blogList/blogDelete/:id', ctrlBlogL.dList);
module.exports = router;
控制器/blogL.js
module.exports.bList = function(req, res){
res.render('blogList', {
title: 'Blog List',
pageHeader: {
title: 'Blog List',
},
blog: [{
blogTitle: 'We did one!',
blogEntry: 'I hope this gets put into my blog',
blogDate: '9/22/2020'
},{
blogTitle: 'We did two!',
blogEntry: 'I did it',
blogDate: '9/24/2020'
},{
blogTitle: 'Third entry',
blogEntry: 'complete',
blogDate: '9/24/2020'
}]
});
};
module.exports.eList = function(req, res){
res.render('blogEdit', {title: 'Blog Edit'});
};
module.exports.dList = function(req, res){
res.render('blogDelete', { title: 'Blog Delete' });
};
blogList.jade - 应该呈现所有模式的部分
p
each blogs in blog
.col-xs-12.list-group-item
h4
p
h4= blogs.blogTitle
p
h4= blogs.blogEntry
p
h4= blogs.blogDate
//error is here I assume
a.btn.btn-default.pull-right(href="/blogEdit") Edit
a.btn.btn-default.pull-right(href="/blogDelete") Delete
【问题讨论】:
-
你有
href="/blogEdit",但路由是/blogList/blogEdit/:id' -
是的,说得对。
-
当我添加 /blogList/blogEdit/:id 时,它仍然不会呈现 blogEdit 或 blogDelete 页面
标签: javascript node.js mongodb express pug