, на беке в req.body прилетает пустой обьект . Хотелось бы выяснить почему . Вот код того что что я отправляю с фронта :
const postNewTask = async (data) => {
const res = await fetch(API_URL + "/reminds", {
method: "POST",
body: JSON.stringify(data)
});
return res;
};
Вот какие данные идут в запросе :
{name: "123", text: "123", taskId: "Программирование"}
Вот модель данных которую я ожидаю на беке ( использую sequelize , бд postgresql)
const RemindsTasks = sequelize.define("reminds", {
id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
name: { type: DataTypes.STRING, unique: true, allowNull: false },
text: { type: DataTypes.STRING, unique: true, allowNull: false },
typeId: { type: DataTypes.STRING, unique: true, allowNull: true },
});
Вот код контроллера :
class RemindsController {
async create(req, res) {
const { name , text , typeId } = req.body;
console.log('req body',req.body)
console.log(req.body)
const remindsItem = await RemindsTasks.create({ name , text ,typeId });
return res.json(remindsItem);
}
async getAll(req, res) {
const reminds = await RemindsTasks.findAll();
return res.json(reminds);
}
}
В основном модуле всё ОК , app.use(express.json()); есть , если отправлять через postman всё работает .
В чём может быть проблема ? что я делаю не правильно ?
Вписал в основной модуль не помогло к сожелению
Значение атрибутов name в форме не совпадают?
Нет,так если бы совпадало оно бы выдвавало другую ошибку , а в моём случае просто в req.body даже ничего не лежит . Вот что показывает req body { тут НИЧЕГО нету : ( } (node:18512) UnhandledPromiseRejectionWarning: SequelizeValidationError: notNull Violation: reminds.name cannot be null,
action в form-е неправильный?
Если ты про форму которая в на фронте , то вроде правильный method : "POST"
Точнее, я про значение атрибута action.
Обсуждают сегодня