【问题标题】:How to fix rendering page error in express application如何修复快速应用程序中的渲染页面错误
【发布时间】: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


【解决方案1】:

在 app.js 中,需要 app.get('...') 包含 /blogList/.../_id,以允许应用使用页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 2010-09-13
    • 2020-01-22
    相关资源
    最近更新 更多