Когда я пытаюсь отправить некоторые данные в мою базу данных через экспресс-сервер, тело не анализируется.
Я попытался использовать express.json () и после этого не работал, я вернулся к bodyParser.json (). Ничего из этого не помогло, поэтому я вышел в Интернет Я уже 2 часа смотрю видео, читаю статьи и ищу переполнение стека, но не могу найти решение.
Клиентская сторона (response.js):
fetch('http://localhost:7000/users', {
method: 'POST',
header: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
username: username,
password: password
})
});
Серверная часть (node.js с экспрессом):
const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const http = require('http');
const app = express();
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
const index = require('./routes/index');
const users = require('./routes/users');
app.use('/', index);
app.use('/users', users);
const server = http.Server(app);
const port = 7000;
server.listen(port, () => {
console.log('Listening on port ' + port);
});
(Причина, по которой я использую http-сервер вместо app.listen, заключается в том, что я собираюсь добавить socket.io. Не уверен, что это важно)
перенаправляет / users.js:
const express = require('express');
const router = express.Router();
const mongo = require('mongojs');
const dbuser = SENSITIVE_INFO;
const dbpass = SENSITIVE_INFO;
const db = mongo('mongodb://'+dbuser+':'+dbpass+'@ds157574.mlab.com:57574/chat-app-1__saahilkhatkhate', ['users']);
router.get('/', (req, res, next) => {
db.users.find((err, users) => {
if (err) {
res.send(err);
}
res.json(users);
});
});
router.post('/', (req, res, next) => {
var body = req.body;
var data = {
name: body.username,
password: body.password
};
console.log(body);
console.log(data);
// db.users.save(data, (err, user) => {
// if (err) {
// res.send(err);
// }
// res.json(user);
// });
});
module.exports = router;
На стороне клиента я записал в журнал то, что отправлял на сервер, и в результате получил:
{ "имя пользователя": "TestUser", "пароль": "testPass"}
На стороне сервера я записал в журнал, что я получал, и результат был:
{}
{имя: не определено, пароль: не определено}
Пожалуйста, дайте мне знать, если я просто тупой и упускаю что-то простое, или есть что-то, что я должен добавить или изменить.
Заранее спасибо за помощь!