Итак, я пытаюсь получить доступ к данным из моего интерфейса с помощью bodyparser, но мне не удается заставить его работать. Вот мой код:
app.post("/deletetodo", (req, res) => {
createNewTodo.findOne({ "usersID": req.body.accountName, "todo": req.body.delete_todo }, (err, todo) => {
if(err) console.log(err);
if(todo) {
todo.remove();
res.redirect("/api/user")
} else {
console.log(req.body.delete_todo + " " + req.body.accountName)
res.redirect("/api/user")
}
})
console.log(req.body)
})
По какой-то причине я получаю значение req.body.delete_todo, но не значение req.body.accountName, которое возвращает undefined . И я знаю, что это не вопрос синтаксической ошибки, потому что я немного использую req.body.accountName в других почтовых запросах с точно таким же синтаксисом на той же странице в том же файле.
EDIT: Я пытаюсь чтобы получить доступ к имени задачи, на которую нажимает пользователь, и имени его / ее учетной записи, чтобы найти их в моей базе данных mongoDB, а затем удалить это задание. Я получаю значение, по которому выполняется щелчок по todo, но, как уже упоминалось, не имя пользователя клиента (req.body.accountName).
Вот мой код внешнего интерфейса:
<nav class="todo-nav">
<span class="logo">Todoish</span>
<span class="account">Logged in as <b>{{ accountStuff }}</b> | <a class="logout-btn" href="http://localhost:8000/api/user/logout">Logout</a></span>
</nav>
<form action="http://localhost:8000/addtodo" class="create-todo-form" method="POST">
<p class="signupMsg">{{ todoErrMsg }}</p>
<input type="text" placeholder="Todo..." class="todo-input" name="todo" required>
<input type="text" style="display:none;" name="accountName" value="{{accountStuff}}">
<input type="submit" value="Add" class="submit">
</form>
<div class="list-of-todos">
{{#each todos}}
<div class="todo">
<span>{{this}}</span>
<form class="todo-btn-form" method="POST">
<input type="text" style="display:none;" name="accountName" value="
{{accountStuff}}">
<button value="{{this}}" class="edit-btn">Edit</button>
<button value="{{this}}" name="delete_todo" method="POST" formaction="http://localhost:8000/deletetodo" class="delete-btn">Delete</button>
</form>
</div>
{{/each}}
</div>