Я обрабатываю свои формы с помощью flask-wtf, отправляю данные в мою базу данных с помощью запроса POST для проверки и, наконец, перенаправляю пользователя на другой маршрут, и все работает как положено.В качестве следующего шага я хотел бы использовать AJAX, чтобы избежать обновления страницы без потери защиты CSRF-токен , обычно добавляемой через hidden_tag в шаблоне через Jinja2.
В документации flask-wtf предоставленное решение использует jQuery.Я оглянулся, но не смог найти фрагмент, который использует обычный Javascript для достижения того же результата.В частности, хотя я знаю, как использовать метод XmlHttpRequest в JS, я не могу понять, как включить в него токен CSRF.
Вот решение jQuery, предоставленное в документах :
<script type="text/javascript">
var csrf_token = "{{ csrf_token() }}";
$.ajaxSetup({
beforeSend: function(xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrf_token);
}
}
});