Я уверен, что это простая вещь, которую мне не хватает, но inte rnet кажется лишенным документации, чтобы сделать эту простую вещь.
Я пытаюсь получить данные из моего HTML и отправить их в свою базу данных. Я забыл добавить свой тег сценария в HTML на некоторое время, но он работал и отправил два теста в базу данных, прежде чем он перестал работать, и сказал, что мои проверки не удались (требуются и заголовок, и блог).
Что мне не хватает? Спасибо за помощь!
моя форма:
<form
action="/api/blog"
method="POST"
id="blog-form"
class="blog-form container mt-5"
enctype="multipart/form-data">
<label for="title">Title</label>
<input type="text" name="title" />
<br />
<label for="blog">Text</label>
<textarea name="blog" rows="15" cols="120"></textarea>
<input type="submit" value="submit" />
</form>
JS:
const form = document.getElementById("blog-form");
form.onsubmit = (e) => {
e.preventDefault();
console.log(e.target.value); // this is coming back undefined
};
Маршрут API:
router.post("/blog", async (req, res) => {
console.log(req.body);
const blog = new Blog({
title: req.body.title,
blog: req.body.blog,
});
try {
await blog.save();
res.status(201).json(req.body);
} catch (err) {
console.error(err.message);
res.status(500).send("server error");
}