简体   繁体   English

ExpressJS POST方法请求问题

[英]ExpressJS POST Method Request Issue

I am running into an issue where I am trying to run a POST request via Postman and I get a loading request for a long time and then a Could not get any response message. 我遇到了一个问题,我试图通过Postman运行POST请求,并且很长一段时间都收到加载请求,然后Could not get any response消息。 There are no errors that are appearing in terminal. 终端中没有出现错误。 Is it the way I am saving the POST? 是我保存POST的方式吗? Specifically looking at my /blog route. 具体看我的/博客路线。

server.js server.js

//Load express
var express = require('express');
var app = express();
var router = express.Router(); // get an instance of the router
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
// configure app to use bodyParser()
// get data from a POST method
app.use(bodyParser.urlencoded({ extended: true}));
app.use(bodyParser.json());

var port = process.env.PORT || 8080; // set the port


var blogDB = require('./config/blogDB.js');

var Blogpost = require('./app/models/blogModel');

app.set('view engine', 'ejs'); // set ejs as the view engine

app.use(express.static(__dirname + '/public')); // set the public directory



var routes = require('./app/routes');
// use routes.js
app.use(routes);


app.listen(port);
console.log('magic is happening on port' + port);

blogModel.js: blogModel.js:

var mongoose    = require('mongoose');
var Schema      = mongoose.Schema;

var BlogPostSchema  = new Schema({
        title : String,
        body : String,
        date_created : Date
});

module.exports = mongoose.model('Blogpost', BlogPostSchema);

routes.js: route.js:

var express = require('express');
var router = express.Router();
var blogDB = require('../config/blogDB.js');
var Blogpost = require('./models/blogModel.js');

//index
    router.route('/')
    .get(function(req, res) {
    var drinks = [
            {   name: 'Bloody Mary', drunkness: 3 },
            {   name: 'Martini', drunkness: 5 },
            {   name: 'Scotch', drunkness: 10}
        ];

        var tagline = "Lets do this.";

        res.render('pages/index', {
            drinks: drinks,
            tagline: tagline
        });
    });

//blog
    router.route('/blog') 

        .get(function(req, res) {
            res.send('This is the blog page');
        })

        .post(function(req, res) {

            var blogpost = new Blogpost(); // create a new instance of a Blogpost model
            blogpost.title = req.body.name; // set the blog title
            blogpost.body = req.body.body; // set the blog content
            blogpost.date_created = Date.now();

            blogpost.save(function(err) {
                if (err)
                    res.send(err);

                res.json({ message: 'Blog created.' });
            });

        });




//about
    router.get('/about', function(req, res) {
            res.render('pages/about');
    });


module.exports = router;

The issue was that I did not setup a user for my Mongo database. 问题是我没有为Mongo数据库设置用户。 Basically it couldn't gain access to the user/pw to the database that I was using. 基本上,它无法访问我正在使用的数据库的用户/密码。 Once I created a user matching the user/pw I included in my url, then I was able to get a successful post. 创建与URL中包含的用户/密码匹配的用户后,便可以成功发布信息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM