Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法从和HTML表单发布到路由_Javascript_Node.js_Express - Fatal编程技术网

Javascript 无法从和HTML表单发布到路由

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

我正在构建一个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);
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>