为什么我的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('/', ...);