Удалить сообщение в MySQL, используя React.js и Express - PullRequest
1 голос
/ 20 апреля 2019

У меня проблемы с удалением поста с помощью React и MySQL. Я не получаю никаких ошибок или предупреждений, но сообщения не удаляются, и когда я console.log затрагиваю строки, он возвращает 0.


deleteNote = id => {
    // <-- declare id parameter
    axios
      .delete(`http://localhost:5000/delete/${id}`) // <-- remove ;
      .then(() => {
        // Issue GET request after item deleted to get updated list
        // that excludes note of id
        this.getAllNotes()
      })
      .then(res => {
        const allNotes = res.data;
        this.setState({ allNotes });
      })
      .catch(err => {
        console.error(err);
      });
  };

<button
type="button"
className="btn-xs btn-info float-right"
onClick={() => this.props.deleteNote(note.ID)}>
<span>
<i className="fas fa-trash-alt" />
</span>{" "}
Delete
</button>


мой метод удаления в Express должным образом консоль регистрирует правильный идентификатор сообщения

app.delete("/delete/:id", (req, res) => {
  let { ID } = req.params.id;
  let sql = "DELETE FROM notes WHERE ID= ?";
  console.log("id: ", req.params.id);

  // delete a row with id = req.params.id
  connection.query(sql, [ID], (error, results, fields) => {
    if (error) return console.error(error.message);

    console.log("Deleted Row(s):", results.affectedRows);
  });
});

1 Ответ

0 голосов
/ 20 апреля 2019

Это сработало после того, как я изменил способ использования параметров. Кто-нибудь знает, почему передача идентификатора в качестве второго параметра не работает?

app.delete("/delete/:id", (req, res) => {
  let { ID } = req.params.id;
  let sql = `DELETE FROM notes WHERE ID = ${req.params.id}`;
  console.log("id: ", req.params.id);

  // delete a row with id = req.params.id
  connection.query(sql, (error, results, fields) => {
    if (error) return console.error(error.message);
    res.status(200).send(results);
    console.log("Deleted Row(s):", results.affectedRows);
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...