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

时间:2016-09-23 10:52:04

标签: javascript node.js express body-parser

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

www.2.com

最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

您需要添加ejs作为视图引擎,并确保已创建index.ejs,然后为动态页面添加获取路由,如下所示

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

// set the view engine to ejs
app.set('view engine', 'ejs');

app.get("/:pageName", function (req, res) {
    var pageName = req.params.pageName;
    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;
    res.redirect('http://myDomain/' + nom);
});

我希望这会对你有所帮助

答案 1 :(得分:0)

您可以在数据库中保存已创建页面的名称,并在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 */
});

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