无法使用Node.js和Jade获取“提交”按钮

时间:2018-01-25 10:27:34

标签: javascript node.js pug

我有一段简单的代码将用户添加到我的应用程序中,该数据将数据插入到我的后端cassandra数据库中。由于某些原因,“提交”按钮不起作用。它不会给出任何错误。

JS档案:

var express = require('express');
var router = express.Router();
var cassandra = require('cassandra-driver');

var client = new cassandra.Client({contactPoints : ['<DatabaseIP>']});
client.connect(function(err, result){
    console.log('cassandra connected: adduser');
});

router.get('/', function(req, res){
    res.render('adduser');
});

var upsertUser = 'INSERT INTO tablename(username, password, email, name) VALUES(?,?,?,?)';

router.post('/', function(req, res){
    client.execute(upsertUser, [req.body.username,req.body.password,req.body.email,req.body.name],
    function(err, result){
        if(err){
            res.status(404).send({msg: err});
        } else{
            console.log ('User Added');
            res.redirect ('/users');
        }
    });
});


module.exports = router;

玉文件:

extends layout

block content
    h1 Add User
    form#formAddUser(name="adduser", method="post", action="/adduser")
    div
        input#inputUserName(type="text", placeholder ="Enter Username", name="username")
    div
        input#inputPassword(type="password", placeholder ="Enter Password", name="password")
    div
        input#inputEmail(type="text", placeholder ="Enter Email Address", name="email")
    div
        input#inputName(type="text", placeholder ="Enter Full Name", name="name")
    div
        button#btnSubmit(type="submit") Submit

2 个答案:

答案 0 :(得分:2)

查看生成的HTML!

<h1>Add User</h1>
<form id="formAddUser" name="adduser" method="post" action="/adduser"></form>
<div>
  <input id="inputUserName" type="text" placeholder="Enter Username" name="username"/>
</div>
<div>
  <input id="inputPassword" type="password" placeholder="Enter Password" name="password"/>
</div>
<div>
  <input id="inputEmail" type="text" placeholder="Enter Email Address" name="email"/>
</div>
<div>
  <input id="inputName" type="text" placeholder="Enter Full Name" name="name"/>
</div>
<div>
  <button id="btnSubmit" type="submit">Submit</button>
</div>

您的按钮不在表单内(也不是任何其他控件)。

您需要缩进它们才能让它们成为表单的一部分。

block content
    h1 Add User
    form#formAddUser(name="adduser", method="post", action="/adduser")
        div
            input#inputUserName(type="text", placeholder ="Enter Username", name="username")
        div
            input#inputPassword(type="password", placeholder ="Enter Password", name="password")
        div
            input#inputEmail(type="text", placeholder ="Enter Email Address", name="email")
        div
            input#inputName(type="text", placeholder ="Enter Full Name", name="name")
        div
            button#btnSubmit(type="submit") Submit

答案 1 :(得分:-1)

更改

form#formAddUser(name="adduser", method="post", action="/adduser")

form#formAddUser(name="adduser", method="POST", action="/")

目前的帖子请求处理是针对'/'编写的,而不是'/ adduser'和方法文本