Ошибка синтаксиса: неожиданный токен t в JSON .parse - PullRequest
1 голос
/ 10 апреля 2020

Я хочу использовать bodyParser на express. Мой posts.js файл содержит

const express = require('express');
const router = express.Router();

const Post = require('../models/Post');

router.post('/', (req, res) => {
    console.log(req.body);
});

module.exports = router;

В файле app.js код похож на

const express = require('express');
const app = express();
const mongoose = require('mongoose');
const bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

const postsRoutes = require('./routes/posts');
// const usersRoutes = require('./routes/users');

app.use('/posts', postsRoutes);
// app.use('/users', usersRoutes);

Версии зависимостей

"body-parser": "^1.19.0",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"mongoose": "^5.9.7",
"nodemon": "^2.0.3"

Сервер успешно подключен, но когда я передаю данные через почтальона в режиме json, терминал показывает ошибку, такую ​​как SyntaxError: Unexpected token t in JSON at position 3 at JSON.parse (<anonymous>)... Я использовал следующий код на app.js

app.use(express.urlencoded({ extended: true }));
app.use(express.json());

, потому что теперь express имеет встроенный body-person функция, но вывод здесь тот же.

Что я могу сделать, чтобы решить эту проблему? Мне нужна помощь. Заранее спасибо!

1 Ответ

1 голос
/ 10 апреля 2020

В JSON ключи должны быть строками, попробуйте следующее в полезной нагрузке почтальона:

{
    "title": "Title here",
    "Description": "Description here..."
}

Вместо этого:

{
    title: "Title here",
    Description: "Description here..."
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...