Я искал и пробовал другие результаты, но, похоже, ни один из них не дал результатов.
Я пытаюсь отправить данные на сервер, используя почтальон в качестве теста.Ответ отправляет сообщение «success», но req.body возвращает пустой массив каждый раз, когда я пытаюсь.Я использую серверную часть с экспрессом и пытаюсь использовать маршруты.Я имел успех раньше, но по какой-то причине я не могу получить его на этот раз, и мой старый код, кажется, не работает для этого.Если я просто регистрирую req, а не req.body, я вижу, что тело пусто, параметры пусты, но URL включает в себя параметры.Я могу опубликовать его, но это довольно долго, и я не знаю, полезно ли это.
Вот URL, который я пытаюсь нажать: localhost:3000/?testParam=test&test=boop
app.js
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/blogTest', { useNewUrlParser: true });
mongoose.Promise = global.Promise;
const postsRoute = require('./routes/post');
app.use(postsRoute);
module.exports = app;
post.js
const express = require('express');
const router = express.Router();
const postModel = require('../models/post'); //not using this yet
router.get("/", function(req, res){
console.log("Getting Posts...");
postModel.find({}, function(err, posts){
if(err){
res.send("{'status': 'error', 'response': "+err+"}");
}
else if(posts.length < 1){
res.send("{'status': 'null', 'response': {}}");
}
else{
res.send("{'status': 'success', 'response': "+posts+"}");
}
});
});
router.post("/", function(req, res){
console.log(req.body);
res.send('success');
});
module.exports = router;
Я ожидаю, что консоль также запишет {'testParam': 'test','test':'boop'}
, я попытался разобрать req.body как json и привести его в соответствие, но это вызывает серверврезаться.