【问题标题】:How to connect HTML POST with Mongo using node如何使用节点将 HTML POST 与 Mongodb 连接
【发布时间】:2016-02-19 05:23:05
【问题描述】:

我只是用 Node、Express 和 MongoDB 制作一个简单的博客应用程序。我有一个 blogPost 架构,并且能够使用 Chrome 的 Postman 成功获取和发布。现在我只是想创建一个简单的 HTML 表单,以便创建博客文章。但我不确定如何将它与 MongoDB 连接起来。下面是部分代码。

index.html

<form class="" action="" method="post">
  <input type="text"></input>
  <input type="submit" value="submit">
</form>

server.js

var apiRouter = express.Router();
apiRouter.route('/blogPosts')

  .post(function(req, res) {
    var blogPost = new BlogPost();

    blogPost.postbody = req.body.postbody;
    blogPost.save(function(err) {
      if (err) {
        return res.send(err);
      }
      res.json({ message: blogPost.postbody + "created"})
    });
  })

  .get(function(req, res) {
    BlogPost.find(function(err, posts) {
      if (err) return res.send(err);

      res.json(posts);
    });
  });

【问题讨论】:

    标签: ajax node.js mongodb post express


    【解决方案1】:

    您需要在 html 代码中添加操作:

    <form class="" action="/blogPosts" method="post">
      <input type="text" name="postbody"></input>
      <input type="submit" value="submit">
    </form>
    

    因此,在 server.js 中,您需要在 express 实例中使用 bodyParser。

    // Example
    var app  = express();
    var bodyparser = require('body-parser');
    app.use(bodyparser.urlencoded({extended: true});
    .....
    //
    var apiRouter = express.Router();
    apiRouter.route('/blogPosts')
    
      .post(function(req, res) {
        var blogPost = new BlogPost();
    
        blogPost.postbody = req.body.postbody;
        blogPost.save(function(err) {
          if (err) {
            return res.send(err);
          }
          res.json({ message: blogPost.postbody + "created"})
        });
      })
    

    【讨论】:

      猜你喜欢
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      • 2019-01-29
      • 1970-01-01
      相关资源
      最近更新 更多