最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在Node.js和Pug中,我如何从将动态创建项目的表单中获取信息

运维笔记admin10浏览0评论

在Node.js和Pug中,我如何从将动态创建项目的表单中获取信息

在Node.js和Pug中,我如何从将动态创建项目的表单中获取信息

我正在尝试创建一个应用程序,该应用程序将让用户创建贸易清单,而当我在主页上的表中选择清单时,我现在正停留在删除清单上。我有一个表单,我相信它将通过从路由器传递到页面的数组数据填充。但是,每当我尝试console.log来查看项目是否正在传递或可以接收数据时,我都会收到一个错误页面,指出传递的输入(选定)是不确定的。我是否缺少某些东西,或者甚至在node.js / express中有可能吗?

这里是哈巴狗页面上的代码,其中包含用于制作列表的表格和表格的表格

mixin getLists(listings)
    each item in listings
        tr
            td.listcell
                   input(type="checkbox" name="selected" value=item.numID)
            td.listcell #{item.name}
            td.listcell #{item.data}

block.content
    .holder
        .listtable
            h4.title Current Listings:
            form(method="post" action="/deleteListings")
                table.listings
                    tr
                        td.listcell
                        td.listcell Name
                        td.listcell Status
                        td.listcell Data
                        +pullinglists(lists)
                input(type="submit" value="Delete Selected Listings")

这是我路由器的网站代码,用于将列表推送到并尝试到仪表板并尝试删除它们

const express = require('express');
const User = require('../core/user');
const router = express.Router();
const nodemailer = require('nodemailer');
const user = new User();

var listings = [];

router.get('/dashboard', (req, res, next)=> {
    let user = req.session.user;

    if(user)
    {
        res.render('dashboard', {opp:req.session.opp, name:user.username, listings:listings});
        return;
    }
    res.redirect('/');
});

router.post('/generateListing', (req, res, next)=>{
    if(req.body.name == null)
    {
        res.redirect('/dashboard');
    }
    var temp={name : req.body.name,
        status: "Pending",
        otherData: req.body.data,
        numID: numberID
    };
    numberID++;
    listings.push(temp);
    res.redirect('/dashboard');
});

router.post('/deleteListing', (req, res, next)=>{
    var i;
    console.log(selected.value);
    if(req.body.selected != null)
    {
        for(i=0; i<req.body.selected; i++)
        {
            //remove selected items from the array
        }
    }
    res.render('/dashboard');
});

我在某种程度上是结识和表达的初学者,因此,如果在这里确实缺少任何明显的东西,我深表歉意。

回答如下:

您在模板中有此:

form(method="post" action="/deleteListings")

所以我希望在服务器端看到一些以此为开头的代码:

router.post('/deleteListings', (req, res, next) => {

否则,表单将寄到哪里?

发布评论

评论列表(0)

  1. 暂无评论