我开始学习nodejs,并在他们的文档中安装了express。现在,在这个过程中,我想要创建一个登录表单,在单击登录时,我希望它传递给、check 路由来检查凭据。
我不会在这里贴出完整的代码。只是其中的一部分。
var routes = require('./routes/index'); //default with express
var users = require('./routes/users'); //default with express
var login = require('./routes/login'); //created by me
var check = require('./routes/check'); //created by me.更新2
app.use('/', routes);
app.use('/users', users);
app.use('/login', login);
app.use('/check', check);登录路径运行良好,我得到了输出。当我单击登录时,它进入路由。
http://localhost:3000/check扔404找不到。
然而,如果我直接在浏览器中输入url,我将在浏览器中获得输出。
check.js
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});更新check.js
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.post('/check', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;login.jade
extends layout
block content
div(class="col-md-4 col-lg-4 col-md-offset-4 col-lg-offset-4")
h1 User Login
form(name="login", action="/check", method="post")
div(class="form-group")
input(type="text", name="user" class="form-control")
div(class="form-group")
input(type="password", name="pass" class="form-control")
div(class="form-group")
input(type="submit", value="login" class="btn btn-warning form-control")我还在寻找创建node.js应用程序的基本文档,这也不复杂,对于菜鸟来说也很容易理解。
更新1:单击登录按钮时出错
Error: Not Found
at app.use.res.render.message (/home/alaksandar/Desktop/Untitled Folder/myapp/app.js:38:13)
at Layer.handle [as handle_request] (/home/alaksandar/Desktop/Untitled Folder/myapp/node_modules/express/lib/router/layer.js:82:5)
at trim_prefix (/home/alaksandar/Desktop/Untitled Folder/myapp/node_modules/express/lib/router/index.js:302:13)
at /home/alaksandar/Desktop/Untitled Folder/myapp/node_modules/express/lib/router/index.js:270:7
at Function.proto.process_params (/home/alaksandar/Desktop/Untitled Folder/myapp/node_modules/express/lib/router/index.js:321:12)
at next (/home/alaksandar/Desktop/Untitled Folder/myapp/node_modules/express/lib/router/index.js:261:10)
at /home/alaksandar/Desktop/Untitled Folder/myapp/node_modules/express/lib/router/index.js:603:15
at next (/home/alaksandar/Desktop/Untitled Folder/myapp/node_modules/express/lib/router/index.js:246:14)
at Function.proto.handle (/home/alaksandar/Desktop/Untitled Folder/myapp/node_modules/express/lib/router/index.js:166:3)
at router (/home/alaksandar/Desktop/Untitled Folder/myapp/node_modules/express/lib/router/index.js:35:12)发布于 2015-04-23 16:01:20
更新
在app.js中使用
app.use('/check',check)
在check.js中使用
router.post('/', function(req, res, next) {
res.send('respond with a resource');
});并确保正在使用module.exports导出此函数。
老
在您的check.js文件中,需要使用
router.post('/check', function(req, res, next) {
res.send('respond with a resource');
});而不是
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});https://stackoverflow.com/questions/29825612
复制相似问题