【问题标题】:NodeJS posting data with sequelizeNodeJS 使用 sequelize 发布数据
【发布时间】:2018-10-14 07:38:45
【问题描述】:

我正在开发一个假装图书馆数据库和网站界面的项目。现在,4 个新的贷款表单输入中只有 2 个被传递到 req.body。所有项目都有一个名称属性,但只有输入字段通过,选择/选项字段不通过。任何帮助是极大的赞赏!项目信息和所有其他项目文件的链接都在 GitHub 上。 Here is the link to GitHub

const
        express         = require("express"),
        app             = express(),
        path            = require("path"),
        cookieParser    = require("cookie-parser"),
        bodyParser      = require("body-parser"),
        routes          = require("./routes/index");

//Setting Up
//  Pug as the view engine, bodyParser, and cookieParser
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookieParser());
app.use('/static', express.static('public'));

const
    express = require("express"),
    router  = express.Router();
    Books   = require("../models").Books;
    Loans   = require("../models").loans;
    Patrons = require("../models").patrons;

router.post('/newloan', (req, res, next) => {
  Loans.create(req.body).then((loan)=>{
    console.log('/////////////////////////////////////////');
    console.log(req.body);
    console.log('/////////////////////////////////////////');
    res.redirect('/allloans');
  });
});
extends ../layout

block content
    h1= title
    form( method="POST" action="/newloan")
        p
            label(for='book_id') Book
            select#book_id
                each book in books
                    option(value=book.id name="book_id")= book.title
        p
            label(for='patron_id') Patron
            select#patron_id
                each patron in patrons
                    option(value=patron.id name="patron_id") #{patron.first_name} #{patron.last_name}
        p
            label(for='loaned_on') Loaned on:
            input#loaned_on(type='date' name="loaned_on" value=loan.loaned_on)
        p
            label(for='return_by') Return by:
            input#return_by(type='date' name="return_by" value=loan.return_by)
        p
            input(type='submit' value='Create New Loan')

【问题讨论】:

    标签: javascript node.js express sqlite sequelize.js


    【解决方案1】:

    您没有提供选择框的名称,以下可能对您有所帮助

    extends ../layout
    
    block content
        h1= title
        form( method="POST" action="/newloan")
            p
                label(for='book_id') Book
                select#book_id(name="book_id")
                    each book in books
                        option(value=book.id)= book.title
            p
                label(for='patron_id') Patron
                select#patron_id(name="patron_id")
                    each patron in patrons
                        option(value=patron.id) #{patron.first_name} #{patron.last_name}
            p
                label(for='loaned_on') Loaned on:
                input#loaned_on(type='date' name="loaned_on" value=loan.loaned_on)
            p
                label(for='return_by') Return by:
                input#return_by(type='date' name="return_by" value=loan.return_by)
            p
                input(type='submit' value='Create New Loan')
    

    【讨论】:

    • 这样一个愚蠢的错误 ;),但添加它有效!非常感谢!
    猜你喜欢
    • 2018-02-09
    • 1970-01-01
    • 2018-11-24
    • 2018-05-31
    • 1970-01-01
    • 2019-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    相关资源
    最近更新 更多