javascript - Node.JS:使用 Express 创建新页面

标签 javascript node.js express body-parser

我正在尝试找到一种方法,当用户提交表单时,使用 Express 在 Node.JS 上动态创建新页面。这是我的想法,但它不起作用:

var app = require('express')();
var server= require('http').createServer(app);
var bodyParser = require('body-parser'); 
var urlencodedParser = bodyParser.urlencoded({ extended: false });

function Page(name){ //Create a page prototype
//Some variables and methods specific to the page
          app.get('/'+name, function (req, res) {
               res.render('index.ejs', {someVars: someVars});
          });
 }

//When a user submits a form, create a new page
app.post('/submit', urlencodedParser, function(req, res){   
    var nom = req.body.nom;
    var newPage = new Page(nom);
    res.redirect('http://myDomain/' + nom);
});

最好的方法是什么?

最佳答案

您可以将创建的页面名称保存在数据库中,并在express中设置可选参数:

//When a user submits a form, create a new page
app.post('/submit', urlencodedParser, function(req, res){   
    var nom = req.body.nom;
    /* save nom to database */
    res.redirect('http://myDomain/' + nom);
});

app.get('/:nom', function(req, res){
    /* if nom exists in database -> return ejs template with vars */
    /* else return 404 */
});

您应该将其存储在数据库中,以防止出现不存在的页面。

关于javascript - Node.JS:使用 Express 创建新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39658984/

相关文章:

javascript - Ember : Use a checkbox to display data

javascript - Express js无法获取/注册

javascript - 将客户端的数据传递到服务器 Node

forms - Express.js 表单处理和错误检查——正确的方法

node.js - 替换mongodb文档而不附加属性

javascript - 在 Express.js 应用程序的公共(public)文件夹中创建一个文件

javascript - 永久更改 JavaScript 字符串的正确方法

javascript - 控制MooTools 1.2中淡入淡出功能的持续时间

javascript - 检查 DOM 元素是否有焦点

node.js - PassportJS events.js :160//Unhandled 'error' connection timeout