node.js - POST 无法使用 express + bootstrap 模式工作
问题描述
在客户端,模态定义为:
<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>
在服务器端,app.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);
在 ./routes/index.js 中,我有这个回调处理程序
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
/* POST handler. */
router.post('/', function (req, res, next) {
res.send('POST request to homepage');
console.log('post received')
});
module.exports = router;
我期待这个结果:当点击保存按钮时,一个POST请求将被发送到服务器端。然后“收到的帖子”将打印在控制台日志中。但在我的实现中,什么也没发生。有什么不对的吗?
解决方案
正如您在文档中发现的那样,您缺少属性action
和标签。因此,当您按下浏览器时,不知道将数据发送到哪里。method
form
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>
推荐阅读
- graphql - 当创建突变具有必填字段但更新没有时,如何重用此输入类型?
- java - 如何编写一个以类为参数的方法
- database - 如何记录员工每个月在两个实体之间的 ER 图中工作的小时数?
- visual-studio-code - VS Code Notebook - 可以自定义配色方案吗?
- docker - 无法在 Windows 10 上启动 docker
- redux - React-Redux 调度动作和读取状态
- python - 如何在 Python 中计算文件内容的 MD5 校验和?
- r - 是否有匹配矩阵的 R 函数?
- php - 如何从存储在变量中的 jsondecode() 响应中搜索和获取值?
- python - 如何在单个 Airflow DAG 中安排多个时间