【发布时间】:2018-05-23 19:55:19
【问题描述】:
我写了一个Node项目,有一个视图页面供用户获取信息但HTML表单发送空内容,我多次与邮递员检查并成功保存信息,我用post方法发送:
{
"name" : "john" ,
"family" : "swift",
"meliCode" : "12345" }
并返回它(它的意思是保存到 db):
{
"_id": "5b05bd2309d3c30404ec5b03",
"name": "john",
"meliCode": "12345",
"family": "swift",
"__v": 0
}
但是当我使用 HTML 表单发送信息时,表(集合)中的字段为空,只需返回:
{
"_id": "5b05bd2309d3c30404ec5b03",
"__v": 0 }
<form action="/api" method="post">
<div class="container">
<h1>Register</h1>
<p>Please fill in this form to create an account.</p>
<hr>
<label for="name"><b>Name</b></label>
<input id="name" type="text" placeholder="Enter Name" name="name" required>
<label for="family"><b>Family</b></label>
<input id="family" type="text" placeholder="Enter Family" name="family" required>
<label for="meliCode"><b>MeliCode</b></label>
<input id="meliCode" type="text" placeholder="Enter Melicode" name="meliCode" required>
<hr>
<p>By creating an account you agree to our <a href="#">Terms & Privacy</a>.</p>
<button type="submit" class="registerbtn">Register</button>
</div>
</form>
并在服务器端使用 '/api' 路由(console.log return '{}'):
const express = require('express');
const router = express.Router();
const user = require('../models/Users');
router.get('/' , function (req , res , next) {
res.send('get')
});
router.post('/' , function (req , res , next) {
user.create(req.body).then(function (user) {
res.send(user);
}).catch(next);
});
module.exports = router;
【问题讨论】:
-
我不明白这如何与 Postman 一起工作。您似乎没有配置正文解析器中间件。
-
@Quentin 嘿身体,我无法理解您的评论...我编辑了我的帖子,请再次检查,看看对您有帮助
-
您的 /action 路径是否正确?
标签: javascript html node.js express