javascript - config/routes.js 中定义的路由出现 404(未找到)错误

标签 javascript node.js routes sails.js

刚刚学习使用 Node 进行 sails 并遇到了问题,我创建了所有 View 和用户 Controller ,但是当我单击注册时,它会将我带到 localhost/signup 并对我进行 404 处理。或者,访问 /user/login/quiz 也都以 404 结束。

这是我的 View 文件夹内容:

- 403.ejs
- 404.ejs
- 500.ejs
- homepage.ejs
- index.ejs
- layout.ejs
- quiz.ejs

我的注册方法应该将我路由到 quiz.ejs,但只是有点中断。这些是我的自定义路线:

module.exports.routes = {
    // HTML Views
    '/': { view: 'index' },
    '/quiz': { view: 'quiz' },

    // Endpoints
    'post /login': 'UserController.login',
    'post /signup': 'UserController.signup',
    '/logout': 'UserController.logout',
};

这些路由引用了我的 UserController.js,它具有 loginlogoutsignup 功能,这是这些功能,这是我的sign up功能:

    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, e.g. 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/signup 404 (Not Found)

这可能是什么原因造成的?

最佳答案

经过一番摆弄和查看我的文件后,我意识到 Sublime 没有保存我对文件名的更改。当我尝试引用 UserController.js 时,它实际上被命名为 usercontroller.js,更改此设置使一切再次顺利运行!

关于javascript - config/routes.js 中定义的路由出现 404(未找到)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44180629/

相关文章:

javascript - 是否可以从父级覆盖 iFrame 中的 javascript?如果是这样怎么办?

javascript - Cordova:如何将多个 onSuccess 值解析为一个函数

javascript - 从字符串中删除除图像标签之外的 html 标签

node.js - 在具有 StrongLoop 支持的 Node.js 应用程序中公开垃圾收集器

c# - ASP.NET MVC 3 路由参数问题

routing - Laravel 4 托管在在线共享服务器上

php - 将值传递给 laravel 中的路由

javascript - 内部版本 :Argument of type 'string | 1' is not assignable to parameter of type 'string'

javascript - 为什么不在 Sequelize 中用 getter 和 setter 创建外键?

node.js - CORS 错误 Angular 2 + Express Node