Отправка Javascript fetch в Django

Я пытаюсь отправить полученный json в Django, не уверен, что делаю это правильно.

Я пытаюсь получить ответ API с помощью GET, затем внутри получения отправить каждый элемент в Django с помощью POST, чтобы заполнить мою базу данных (представления и все остальное уже настроено). Запрос на поиск API предоставляет несколько Json-ответов, поэтому я пытаюсь зациклить его.

Мой код выглядит следующим образом:

  s_button.addEventListener('click', function(e){  
  var x = document.querySelector('#search');

  var searching = "&search=" + x.value
// fetches by search
  fetch(website + searching, requestOptions)
  .then(response => response.json())
  .then(result => {
    var list = result;
    for (let i = 1; i < 10; i++) { 
  console.log(result.results[i].name)
//here it changes table based on id from html
  htmlname = "number" + i.toString();

// sets name to fetched name and id to fetched id
  document.getElementsByClassName(htmlname)[0].innerHTML = result.results[i].name;
  document.getElementsByClassName(htmlname)[0].id = result.results[i].id;

console.log("REQUEST:")
//this suppose to send to POST but it gives error! 
$(document).ready(function() {
    $.ajax({
        method: 'POST',
        url: '',
        data: {'yourJavaScriptArrayKey': result.results[i],
                  'csrfmiddlewaretoken': '{{ csrf_token }}'},
        'dataType': 'json',
        success: function (data) {
             //this gets called when server returns an OK response
             console.log("it worked!");
        },
        error: function (data) {
             console.log("it didnt work");
        }
    });
});
    }
    id = result.results[0]
  })
  .catch(error => console.log('error', error));
})

В терминале у меня ошибка Запрещено (CSRF-токен отсутствует или неверен.): / [25/Aug/2021 22:16:50] "POST / HTTP/1.1" 403 2519

в консоли просто POST http://127.0.0.1:8000/ 403 (Forbidden)

Возможно, это происходит из-за асинхронного выполнения, так как fetch уже завершился бы? Не уверен, как это правильно настроить, есть ли лучший способ отправить данные из fetch в базу данных (psql настроен в Django)

Благодарю за любую помощь!!!

Вернуться на верх