0
我正在嘗試編寫代碼以使用express.js創建mongodb條目。但是,當我用cURL請求測試我的代碼時,出現錯誤「來自服務器的空響應」。Express JS POST請求失敗
這裏是我的express.js代碼:
var express = require('express');
var router = express.Router();
var http = require('http');
var url = require('url');
var util = require('util');
var bodyParser = require('body-parser')
var ObjectID = require('mongodb').ObjectID;
router.use(bodyParser.json());
router.use(bodyParser.urlencoded({extended: true}));
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/my_db');
var channelSchema = mongoose.Schema({
name: String,
verified: String,
private: String,
channelID: String,
handle: String,
subscribers: String
});
var Channel = mongoose.model("Channel", channelSchema);
router.post('/createChannel', bodyParser, function(req, res, next) {
if(!req.body) return res.send(400);
var objID = new ObjectID();
var newChannel = new Channel({
name: req.body["name"],
verified: req.body["verified"],
private: req.body["private"],
channelID: objID,
handle: req.body["handle"],
subscribers: req.body["subscribers"]
});
newChannel.save(function(err, point){
if(err) res.send(500);
else res.send(200);
});
});
module.exports = router;
爲什麼請求失敗,我不知道......它總是超時。它與我提供的HTTP響應有關嗎?
你爲什麼要定義兩次中間件?你有'router.use(bodyParser.json());'然後你也傳遞'bodyParser'的請求。 –
您如何測試?你的cURL是什麼? –
這不是失敗,它只是說「空洞的迴應」。這是正確的,因爲你發送了一個響應,但它是空的。發送你的觀點:'res.status(200).send(point)' –