POST无法使用Express + Bootstrap模式运行

时间:2018-07-28 14:52:05

标签: node.js express post bootstrap-modal

在客户端,模式定义为:

0

在服务器端,app.js定义为:

<div class="modal-content">
    <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">New message to undefined</h5>
        <button class="close" type="button" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
    </div>
    <div class="modal-body">
        <form>
            <div class="form-group">
                <label class="col-form-label" for="tag-name">Tag:</label>
                <input class="form-control" id="tag-name" type="text">
            </div>
            <div class="form-group">
                <label class="col-form-label" for="url-name">URL:</label>
                <input class="form-control" id="url-name" type="text">
            </div>
            <div class="modal-footer">
                <button class="btn btn-secondary" type="button" data-dismiss="modal">Close</button>
                <button class="btn btn-primary" type="submit">Save</button>
            </div>
        </form>
    </div>
</div>

在./routes/index.js中,我有这个回调处理程序

var express = require('express');
...
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
...
var app = express();
...
app.use('/', indexRouter);
app.use('/users', usersRouter);

我期望得到这样的结果:单击 Save 按钮时, POST 请求将发送到服务器端。然后“接收到的邮件”将打印在控制台日志中。但是在我的实现中,什么都没有发生。有什么问题吗?

2 个答案:

答案 0 :(得分:1)

正如您在documentation中所发现的,action标签中缺少属性methodform。因此,当您按Send浏览器时,不知道将数据发送到哪里。

您是否可以像下面的示例一样尝试添加这两个属性?

<div class="modal-content">
    <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">New message to undefined</h5>
        <button class="close" type="button" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
    </div>
    <div class="modal-body">
        <form method="localhost:3000" method="post">
            <div class="form-group">
                <label class="col-form-label" for="tag-name">Tag:</label>
                <input class="form-control" id="tag-name" type="text">
            </div>
            <div class="form-group">
                <label class="col-form-label" for="url-name">URL:</label>
                <input class="form-control" id="url-name" type="text">
            </div>
            <div class="modal-footer">
                <button class="btn btn-secondary" type="button" data-dismiss="modal">Close</button>
                <button class="btn btn-primary" type="submit">Save</button>
            </div>
        </form>
    </div>
</div>

答案 1 :(得分:1)

如果您想要的是同步表单提交,则需要告知您想要的方法(发布或获取)以及将其发送到何处。就您而言,可能是

<form method="post" action="/">...</form>

致谢