Javascript 无法从和HTML表单发布到路由
我正在构建一个nodejs/expressjs应用程序,这是我的体系结构: +路线 -candidate.js -index.js +观点 -layout.vash -register.vash -server.js 在我的server.js文件中,我使用以下代码来管理路由:Javascript 无法从和HTML表单发布到路由,javascript,node.js,express,Javascript,Node.js,Express,我正在构建一个nodejs/expressjs应用程序,这是我的体系结构: +路线 -candidate.js -index.js +观点 -layout.vash -register.vash -server.js 在我的server.js文件中,我使用以下代码来管理路由: var routes = require('./routes/index'); var candidate = require('./routes/candidate'); app.use('/', routes); a
var routes = require('./routes/index');
var candidate = require('./routes/candidate');
app.use('/', routes);
app.use('/candidate', candidate);
在candidate.js中,所有get请求都可以正常工作,但是post请求中存在一个问题,它无法解决路径:Cannot post/caregister
server.js
routes/index.js
routes/candidate.js
视图/候选数据库
@html.extend('layout',函数(模型){
@html.block('body',函数(模型){
求职者
创建新帐户
})
})
当使用应用程序时。使用并包括一个前缀,如候选者
,这意味着您以后应该使用此前缀访问此路线
因此,您在candidatelogin.vash
中的表单应发布到/candidate/caregister
url:
<div id="register">
<h3>Create new Account</h3>
<form method="post" action="/candidate/caregister">
<input type="text" name="username" placeholder="username"><br/><br/>
<input type="text" name="email" placeholder="email"><br/><br/>
<input type="password" name="password" placeholder="password"><br/><br/>
<input type="password" name="passwordConf" placeholder="password confirmation"><br/><br/>
<input type="submit" value="Register">
</form>
</div>
创建新帐户
您应该将候选者
路线放在索引
路线的顶部。@vsevolodgolovizn在同一个问题中,您可以发布这些文件的内容吗?@vsevolodgolovizn我编辑了我的问题
var express = require('express');
var router = express.Router();
router.get('/', function(req, res){
res.render('index');
});
module.exports = router;
var express = require('express');
var router = express.Router();
var Candidate = require("../models/candidate");
router.get('/', function(req, res){
res.render('candidatelogin'); // relative to candidatelogin.vash
});
router.post('/caregister', function(req, res){
var username = req.body.username;
var email = req.body.email;
var password = req.body.password;
var passwordConf = req.body.passwordConf;
console.log(username + " " + email);
});
module.exports = router;
@html.extend('layout', function(model){
@html.block('body', function(model){
<h1>Jobseeker</h>
<div id="register">
<h3>Create new Account</h3>
<form method="post" action="/caregister">
<input type="text" name="username" placeholder="username"><br/><br/>
<input type="text" name="email" placeholder="email"><br/><br/>
<input type="password" name="password" placeholder="password"><br/><br/>
<input type="password" name="passwordConf" placeholder="password confirmation"><br/><br/>
<input type="submit" value="Register">
</form>
</div>
})
})
<div id="register">
<h3>Create new Account</h3>
<form method="post" action="/candidate/caregister">
<input type="text" name="username" placeholder="username"><br/><br/>
<input type="text" name="email" placeholder="email"><br/><br/>
<input type="password" name="password" placeholder="password"><br/><br/>
<input type="password" name="passwordConf" placeholder="password confirmation"><br/><br/>
<input type="submit" value="Register">
</form>
</div>