为什么我的ejs没有redirect?
我做了一个表单。成功提交表单我想把页面redirect到谢谢你的页面(另一个ejs)视图。 不知何故,如果我使用res.redirect()它不工作,但使用res.send('谢谢你')它工作正常。
以下是我的app.js的代码:
var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var routes = require('./routes/index'); var users = require('./routes/users'); var thankyou = require('./routes/thankyou'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); var engine = require('ejs-locals'); app.engine('ejs', engine); app.set('view engine', 'ejs'); // uncomment after placing your favicon in /public //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); mongoose.connect('mongodb://localhost/my-data'); app.use('/', routes); app.use('/users', users); app.use('/thankyou', thankyou); var Schema = new mongoose.Schema({ name : String, email : String }); var user = mongoose.model('Users', Schema); app.post('/test',function(req,res){ new user({ email : req.body.email, name : req.body.name }).save(function(err, doc){ if(err){ console.log('boo'); } else{ console.log('innner'); res.redirect("/thankyou"); res.end(); } }) })
谢谢你的路线:
var express = require('express'); var router = express.Router(); router.get('/thankyou', function(req, res) { res.render('thankyou'); }); module.exports = router;
谢谢你的看法
<h2>THANKS/h2>
这个:
app.use('/thankyou', thankyou);
结合这个:
router.get('/thankyou', ...);
…创build一个匹配/thankyou/thankyou
的路线。
相反,你可能想要这样做:
router.get('/', ...);