在config / routes.js中定义的路由获取404(未find)错误
只是学习与节点的风帆,并已遇到问题,我已经创build了所有的视图和我的用户控制器,但是当我点击注册,它需要我localhost/signup
和404s我。 另外,去/user
, /login
, /quiz
都以404结束。
这是我的意见文件夹内容:
- 403.ejs - 404.ejs - 500.ejs - homepage.ejs - index.ejs - layout.ejs - quiz.ejs
我的注册方法应该路由我quiz.ejs
,但只是一种rest。 这些是我的自定义路线:
module.exports.routes = { // HTML Views '/': { view: 'index' }, '/quiz': { view: 'quiz' }, // Endpoints 'post /login': 'UserController.login', 'post /signup': 'UserController.signup', '/logout': 'UserController.logout', };
这些路由引用了我的UserController.js,它们具有login
, logout
和signup
function,这里是这些function,这里是我的sign up
function:
signup: function (req, res) { // Attempt to signup a user using the provided parameters User.signup({ name: req.param('name'), email: req.param('email'), password: req.param('password'), avatar: req.param('avatar'), }, function (err, user) { // res.negotiate() will determine if this is a validation error // or some kind of unexpected server error, then call `res.badRequest()` // or `res.serverError()` accordingly. if (err) return res.negotiate(err); // Go ahead and log this user in as well. // We do this by "remembering" the user in the session. // Subsequent requests from this user agent will have `req.session.me` set. req.session.me = user.id; req.session.name = user.name; // If this is not an HTML-wanting browser, eg AJAX/sockets/cURL/etc., // send a 200 response letting the user agent know the signup was successful. if (req.wantsJSON) { return res.ok('Signup successful!'); } // Otherwise if this is an HTML-wanting browser, redirect to /welcome. return res.redirect('/quiz'); }); }
正如你所看到的,我的回归被设置为/quiz
,但似乎并不火。 编辑:点击,我也收到这个控制台错误:
POST http:// localhost:1337 /注册 404(未find)
什么可能导致这个?
经过一番捣鼓,仔细查看我的文件,我意识到Sublime没有保存我对文件名的修改。 我试图引用UserController.js
时,它实际上是命名为usercontroller.js
,改变这一切使一切顺利了!