javascript - NodeJS 使用sequelize 发布数据

标签 javascript node.js express sqlite sequelize.js

我正在开发一个假装图书馆数据库和网站界面的项目。目前,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')

最佳答案

您没有提供选择框的名称,以下内容可能会帮助您

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')

关于javascript - NodeJS 使用sequelize 发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50164376/

相关文章:

node.js - Node - Bluemix 对象存储

javascript - 带有 orm2 和分离模型文件的 Node Express

javascript - 尝试从客户端访问 Node/Express 端点时出现 404 Not Found

javascript - 自定义非 Google map 上的地理位置

javascript - setState 被设置为数组 onClick 的最后一个元素,无论目标元素如何

javascript - 具有多个参数的 Node 纤程/ future 回调

node.js - 如何在 Mongoose 的同一个文件中导出多个模式

javascript - 将变量添加到 JavaScript 回调

javascript - 低延迟音频播放?

node.js - Passport JS管理员用户验证