私はこの質問が既に尋ねられ、答えられていることを知っています。しかし、私はすべてのアドバイスに従って、それは私が仮定されている方法でやったが、それはまだ私のために働いていない。ここでreq.bodyは常に定義されていません
は私app.jsである:ここでは
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const app = module.exports = express();
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(cors());
は私server.jsです:ここでは
const server = require('./dependencies/app');
const connectionHelper = require('./databaseOperations/connectionHelper');
const process = require('process');
const routes = require("./routes");
connectionHelper.establishConnection;
process.on('exit', function()
{
connectionHelper.closeConnection;
});
routes(server);
server.listen(3000);
は私routes.jsです:
最後にconst tweetHandler = require("./handler/tweetHandler");
const userHandler = require("./handler/userHandler");
let createRoutes = function(app)
{
app.post('/submitTweet', tweetHandler.handleTweet);
app.get('/login', userHandler.login);
}
module.exports = createRoutes;
さえずりハンドラエラーをスローする:
const Tweet = require("../schema/tweetSchema");
module.exports = {
handleTweet: function (res, req)
{
console.log(req.body);
if (req.body.topic && req.body.tweet) {
let tweet = new Tweet({topic: req.body.topic, tweet: req.body.tweet});
let promise = tweet.save();
promise.then(function (result) {
console.log("Result ", result);
res.status(200).send({message: "Tweet was successfully submitted"});
})
}
else {
res.status(401).send({message: "You need to provide a topic as well as a tweet"});
}
}
};
私は取得していますエラーは次のとおりです。私は本当にここで私のエラーを理解していないと私はそれが本当にばかなものであると確信していますTypeError: Cannot read property 'topic' of undefined
。
私は郵便配達員でテストしています。はい、x-www-form-urlencoded
オプションを使用しています。
誰かが迷っていることを教えてもらえますか?
もう1つの問題は、res.statusが関数として認識されていないことです。あなたがそれに答えることができれば、驚くべきことに、reqまたはresのすべての関数呼び出しはエラーを投げます!