为什么不'不post '不保存到页面刷新

Why doesn't post won't save to page when refreshing?

本文关键字:刷新 post 为什么不 保存      更新时间:2023-09-26

使用Javascript, NodeJS, MongoDB, Express

在我的应用程序中,用户应该在输入字段中键入,当他们单击提交按钮时,文本被附加到页面。我能够成功地将文本发布到页面,但当我刷新浏览器时,我的帖子没有显示出来。我想我需要做一个get请求通过ajax在我的部分/测试的脚本部分。ejs,但我不确定如何执行这个。
模型/Blog.js

 var
  mongoose = require('mongoose'),
  Schema = mongoose.Schema,
  BlogSchema = new Schema({
  name: String
 })
var Blog = mongoose.model('Blog', BlogSchema)
module.exports = Blog  

视图/泛音test.ejs

<body>
<form>
<button type="submit" class="btn btn-default pull-right" id="create">Submit</button>
</form>
<div class="feedback-messages"></div>
</body>
<script type="text/javascript">
var messages = $('.feedback-messages')
var postItem = $("#create")

postItem.on('click', function(evt) {
 evt.preventDefault();

  $.ajax({
    url: '/test',
    method: 'POST',
    contentType: 'application/json',
    data: JSON.stringify({data: newItem})
  })
    .done(function(data) {
      console.log("Hello");
      messages.append(newItem)
})

路线/index.js

var
  express = require('express');
  router = express.Router();
  bodyParser = require('body-parser');
  mongoose = require('mongoose');
  Blog = require('../models/Blog.js');
// route for home page
router.get('/', function(req, res) {
  res.render('./partials/home');
});
//route for test page
router.get('/test', function(req, res) {
 res.render('./partials/test');
   });

router.use(bodyParser.json());
router.use(bodyParser.urlencoded({ extended: false}));

router.get('/test', function(req, res){
    Blog.find({}, function(err, blog){
        if(err) return console.log(err)
        res.json(blog);
    })
});

router.post('/test', function(req, res){
    // console.log(req.body)
    Blog.create({content: req.body.data}, function(err, item){
        if(err) return console.log(err)
        res.json({serverSays: "Request received. Added item.", item: item})
    })
})
module.exports = router;

尝试更改保存到此

的代码
    Blog.create({content: req.body.data})
    .then(function(item){
        res.json({serverSays: "Request received. Added item.", item: item})
    })
    .catch(function(err) {
        return console.log(err)
    })