Эта javascript функция извлечения выполняет так называемый ajax вызов. Это означает, что он вызовет сервер и извлечет результат, а затем сделает то, что вам говорят И вы ничего не сказали, поэтому он ничего не делает с возвращаемым значением. Вот почему ничего не происходит, когда вы нажимаете кнопку.
Но ваш код сервера устанавливает сообщение fla sh, и оно будет показано в следующий раз, когда вы действительно загрузите любую страницу с сервера.
Как это исправить? Ну, это в значительной степени зависит от вашего ожидаемого рабочего процесса. Я сам рассматриваю возможность использования ajax для вызова продвинутых топи c. Ajax звонки лучше подходят для SPA (одностраничные приложения). Я бы порекомендовал вам go для традиционного способа, используя старые добрые html формы с методом POST. Как только вы ознакомитесь с этим, вы сможете продвигаться вперед. В любом случае, это скорее вопрос javascript, чем python / flask / sqlalchemy, потому что эта часть верна с вашей стороны.
В любом случае, чтобы вы увидели, что происходит, вы можете попробовать что-то вроде этого:
fetch('/stuff/' + thingId, {
method: 'DELETE'
}).then(function(response) {
if (!response.ok) {
console.log("Error", response);
} else {
console.log("Success", response);
// this is kind-of silly, but should help you achieve what you want
// location.reload()
}
})
И запустите консоль вашего веб-браузера, чтобы увидеть отладочные отпечатки. См .: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch